diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..619cbf5 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,23 @@ +name: Tests +on: + push: + branches: + - main + tags: + - v* + pull_request: + +jobs: + Tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20.x' + cache: 'npm' + - name: Install dependencies + run: npm install + - name: Run tests + run: npx hardhat test \ No newline at end of file diff --git a/README.md b/README.md index f23159d..e4b9db9 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![Tests](https://github.com/tellor-io/UsingTellorLayer/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/tellor-io/UsingTellorLayer/actions/workflows/tests.yml) + # UsingTellorLayer Use this package to install the Tellor user contracts and integrate Tellor into your contracts. diff --git a/artifacts/build-info/3d7102a7b74c245b885295d3f9e627a4.json b/artifacts/build-info/3d7102a7b74c245b885295d3f9e627a4.json deleted file mode 100644 index 3502f91..0000000 --- a/artifacts/build-info/3d7102a7b74c245b885295d3f9e627a4.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"3d7102a7b74c245b885295d3f9e627a4","_format":"hh-sol-build-info-1","solcVersion":"0.8.19","solcLongVersion":"0.8.19+commit.7dd6d404","input":{"language":"Solidity","sources":{"contracts/interfaces/ITellorDataBridge.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nstruct OracleAttestationData {\n bytes32 queryId;\n ReportData report;\n uint256 attestationTimestamp; //timestamp of validatorSignatures on report\n}\n\nstruct ReportData {\n bytes value;\n uint256 timestamp; //timestamp of reporter signature aggregation\n uint256 aggregatePower;\n uint256 previousTimestamp;\n uint256 nextTimestamp;\n uint256 lastConsensusTimestamp;\n}\n\nstruct Signature {\n uint8 v;\n bytes32 r;\n bytes32 s;\n}\n\nstruct Validator {\n address addr;\n uint256 power;\n}\n\ninterface ITellorDataBridge {\n function guardian() external view returns (address);\n function powerThreshold() external view returns (uint256);\n function unbondingPeriod() external view returns (uint256);\n function validatorTimestamp() external view returns (uint256);\n function verifyOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external view;\n}"},"contracts/testing/bridge/Constants.sol":{"content":"// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.19;\n\n/// @dev bytes32 encoding of the string \"tellorCurrentAttestation\"\nbytes32 constant NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR =\n 0x74656c6c6f7243757272656e744174746573746174696f6e0000000000000000;\n\n/// @dev bytes32 encoding of the string \"checkpoint\"\nbytes32 constant VALIDATOR_SET_HASH_DOMAIN_SEPARATOR =\n 0x636865636b706f696e7400000000000000000000000000000000000000000000;\n\n "},"contracts/testing/bridge/ECDSA.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/cryptography/ECDSA.sol)\npragma solidity 0.8.19;\n\n/**\n * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n *\n * These functions can be used to verify that a message was signed by the holder\n * of the private keys of a given address.\n */\ncontract ECDSA {\n enum RecoverError {\n NoError,\n InvalidSignature,\n InvalidSignatureLength,\n InvalidSignatureS\n }\n\n /**\n * @dev The signature derives the `address(0)`.\n */\n error ECDSAInvalidSignature();\n\n /**\n * @dev The signature has an invalid length.\n */\n error ECDSAInvalidSignatureLength(uint256 length);\n\n /**\n * @dev The signature has an S value that is in the upper half order.\n */\n error ECDSAInvalidSignatureS(bytes32 s);\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not\n * return address(0) without also returning an error description. Errors are documented using an enum (error type)\n * and a bytes32 providing additional information about the error.\n *\n * If no error is returned, then the address can be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n *\n * Documentation for signature generation:\n * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n */\n function tryRecover(\n bytes32 hash,\n bytes memory signature\n ) internal pure returns (address, RecoverError, bytes32) {\n if (signature.length == 65) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n /// @solidity memory-safe-assembly\n assembly {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n return tryRecover(hash, v, r, s);\n } else {\n return (\n address(0),\n RecoverError.InvalidSignatureLength,\n bytes32(signature.length)\n );\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature`. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n */\n function recover(\n bytes32 hash,\n bytes memory signature\n ) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(\n hash,\n signature\n );\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n *\n * See https://eips.ethereum.org/EIPS/eip-2098[ERC-2098 short signatures]\n */\n function tryRecover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address, RecoverError, bytes32) {\n unchecked {\n bytes32 s = vs &\n bytes32(\n 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n );\n // We do not check for an overflow here since the shift operation results in 0 or 1.\n uint8 v = uint8((uint256(vs) >> 255) + 27);\n return tryRecover(hash, v, r, s);\n }\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n */\n function recover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(\n hash,\n r,\n vs\n );\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function tryRecover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address, RecoverError, bytes32) {\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\n // the valid range for s in (301): 0 < s < secp256k1n ÷ 2 + 1, and for v in (302): v ∈ {27, 28}. Most\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\n //\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\n // these malleable signatures as well.\n if (\n uint256(s) >\n 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0\n ) {\n return (address(0), RecoverError.InvalidSignatureS, s);\n }\n\n // If the signature is valid (and not malleable), return the signer address\n address signer = ecrecover(hash, v, r, s);\n if (signer == address(0)) {\n return (address(0), RecoverError.InvalidSignature, bytes32(0));\n }\n\n return (signer, RecoverError.NoError, bytes32(0));\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function recover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(\n hash,\n v,\n r,\n s\n );\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Optionally reverts with the corresponding custom error according to the `error` argument provided.\n */\n function _throwError(RecoverError error, bytes32 errorArg) private pure {\n if (error == RecoverError.NoError) {\n return; // no error: do nothing\n } else if (error == RecoverError.InvalidSignature) {\n revert ECDSAInvalidSignature();\n } else if (error == RecoverError.InvalidSignatureLength) {\n revert ECDSAInvalidSignatureLength(uint256(errorArg));\n } else if (error == RecoverError.InvalidSignatureS) {\n revert ECDSAInvalidSignatureS(errorArg);\n }\n }\n\n /**\n * @dev Returns the keccak256 digest of an ERC-191 signed data with version\n * `0x45` (`personal_sign` messages).\n *\n * The digest is calculated by prefixing a bytes32 `messageHash` with\n * `\"\\x19Ethereum Signed Message:\\n32\"` and hashing the result. It corresponds with the\n * hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.\n *\n * NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with\n * keccak256, although any bytes32 value can be safely used because the final digest will\n * be re-hashed.\n *\n * See {ECDSA-recover}.\n */\n function toEthSignedMessageHash(\n bytes32 messageHash\n ) internal pure returns (bytes32 digest) {\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, \"\\x19Ethereum Signed Message:\\n32\") // 32 is the bytes-length of messageHash\n mstore(0x1c, messageHash) // 0x1c (28) is the length of the prefix\n digest := keccak256(0x00, 0x3c) // 0x3c is the length of the prefix (0x1c) + messageHash (0x20)\n }\n }\n}\n"},"contracts/testing/bridge/TellorDataBridge.sol":{"content":"// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.19;\n\nimport {ECDSA} from \"./ECDSA.sol\";\nimport \"./Constants.sol\";\n\nstruct OracleAttestationData {\n bytes32 queryId;\n ReportData report;\n uint256 attestationTimestamp;//timestamp of validatorSignatures on report\n}\n\nstruct ReportData {\n bytes value;\n uint256 timestamp;//timestamp of reporter signature aggregation\n uint256 aggregatePower;\n uint256 previousTimestamp;\n uint256 nextTimestamp;\n uint256 lastConsensusTimestamp;\n}\n\nstruct Signature {\n uint8 v;\n bytes32 r;\n bytes32 s;\n}\n\nstruct Validator {\n address addr;\n uint256 power;\n}\n\n\n/// @title TellorDataBridge: Tellor Layer -> EVM, Oracle relay.\n/// @dev The relay relies on a set of signers to attest to some event on\n/// Tellor Layer. These signers are the validator set, who sign over every\n/// block. At least 2/3 of the voting power of the current\n/// view of the validator set must sign off on new relayed events.\ncontract TellorDataBridge is ECDSA {\n\n /*Storage*/\n address public guardian; /// Able to reset the validator set only if the validator set becomes stale.\n bytes32 public lastValidatorSetCheckpoint; ///Domain-separated commitment to the latest validator set.\n uint256 public powerThreshold; /// Voting power required to submit a new update.\n uint256 public unbondingPeriod; /// Time period after which a validator can withdraw their stake.\n uint256 public validatorTimestamp; /// Timestamp of the block where validator set is updated.\n address public deployer; /// Address that deployed the contract.\n bool public initialized; /// True if the contract is initialized.\n uint256 public constant MS_PER_SECOND = 1000; // factor to convert milliseconds to seconds\n\n /*Events*/\n event GuardianResetValidatorSet(uint256 _powerThreshold, uint256 _validatorTimestamp, bytes32 _validatorSetHash);\n event ValidatorSetUpdated(uint256 _powerThreshold, uint256 _validatorTimestamp, bytes32 _validatorSetHash);\n\n /*Errors*/\n error AlreadyInitialized();\n error InsufficientVotingPower();\n error InvalidPowerThreshold();\n error InvalidSignature();\n error MalformedCurrentValidatorSet();\n error NotDeployer();\n error NotGuardian();\n error StaleValidatorSet();\n error SuppliedValidatorSetInvalid();\n error ValidatorSetNotStale();\n error ValidatorTimestampMustIncrease();\n\n /*Functions*/\n /// @notice Constructor for the TellorDataBridge contract.\n /// @param _guardian Guardian address.\n constructor(\n address _guardian\n ) {\n guardian = _guardian;\n deployer = msg.sender;\n }\n\n /// @notice This function is called only once by the deployer to initialize the contract\n /// @param _powerThreshold Initial voting power that is needed to approve operations\n /// @param _validatorTimestamp Timestamp of the block where validator set is updated.\n /// @param _unbondingPeriod Time period after which a validator can withdraw their stake.\n /// @param _validatorSetCheckpoint Initial checkpoint of the validator set.\n function init(\n uint256 _powerThreshold,\n uint256 _validatorTimestamp,\n uint256 _unbondingPeriod,\n bytes32 _validatorSetCheckpoint\n ) external {\n if (msg.sender != deployer) {\n revert NotDeployer();\n }\n if (initialized) {\n revert AlreadyInitialized();\n }\n initialized = true;\n powerThreshold = _powerThreshold;\n validatorTimestamp = _validatorTimestamp;\n unbondingPeriod = _unbondingPeriod;\n lastValidatorSetCheckpoint = _validatorSetCheckpoint;\n }\n\n /// @notice This function is called by the guardian to reset the validator set\n /// only if it becomes stale.\n /// @param _powerThreshold Amount of voting power needed to approve operations.\n /// @param _validatorTimestamp The timestamp of the block where validator set is updated.\n /// @param _validatorSetCheckpoint The hash of the validator set.\n function guardianResetValidatorSet(\n uint256 _powerThreshold,\n uint256 _validatorTimestamp,\n bytes32 _validatorSetCheckpoint\n ) external {\n if (msg.sender != guardian) {\n revert NotGuardian();\n }\n if (block.timestamp - (validatorTimestamp / MS_PER_SECOND) < unbondingPeriod) {\n revert ValidatorSetNotStale();\n }\n if (_validatorTimestamp <= validatorTimestamp) {\n revert ValidatorTimestampMustIncrease();\n }\n powerThreshold = _powerThreshold;\n validatorTimestamp = _validatorTimestamp;\n lastValidatorSetCheckpoint = _validatorSetCheckpoint;\n emit GuardianResetValidatorSet(_powerThreshold, _validatorTimestamp, _validatorSetCheckpoint);\n }\n\n /// @notice This updates the validator set by checking that the validators\n /// in the current validator set have signed off on the new validator set.\n /// @param _newValidatorSetHash The hash of the new validator set.\n /// @param _newPowerThreshold At least this much power must have signed.\n /// @param _newValidatorTimestamp The timestamp of the block where validator set is updated.\n /// @param _currentValidatorSet The current validator set.\n /// @param _sigs Signatures.\n function updateValidatorSet(\n bytes32 _newValidatorSetHash,\n uint64 _newPowerThreshold,\n uint256 _newValidatorTimestamp,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external {\n if (_currentValidatorSet.length != _sigs.length) {\n revert MalformedCurrentValidatorSet();\n }\n if (_newValidatorTimestamp < validatorTimestamp) {\n revert ValidatorTimestampMustIncrease();\n }\n if (_newPowerThreshold == 0) {\n revert InvalidPowerThreshold();\n }\n // Check that the supplied current validator set matches the saved checkpoint.\n bytes32 _currentValidatorSetHash = keccak256(abi.encode(_currentValidatorSet));\n if (\n _domainSeparateValidatorSetHash(\n powerThreshold,\n validatorTimestamp,\n _currentValidatorSetHash\n ) != lastValidatorSetCheckpoint\n ) {\n revert SuppliedValidatorSetInvalid();\n }\n\n bytes32 _newCheckpoint = _domainSeparateValidatorSetHash(\n _newPowerThreshold,\n _newValidatorTimestamp,\n _newValidatorSetHash\n );\n _checkValidatorSignatures(\n _currentValidatorSet,\n _sigs,\n _newCheckpoint,\n powerThreshold\n );\n lastValidatorSetCheckpoint = _newCheckpoint;\n powerThreshold = _newPowerThreshold;\n validatorTimestamp = _newValidatorTimestamp;\n emit ValidatorSetUpdated(\n _newPowerThreshold,\n _newValidatorTimestamp,\n _newValidatorSetHash\n );\n }\n \n /*Getter functions*/\n /// @notice This getter verifies a given piece of data vs Validator signatures\n /// @param _attestData The data being verified\n /// @param _currentValidatorSet array of current validator set\n /// @param _sigs Signatures.\n function verifyOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external view{\n if (_currentValidatorSet.length != _sigs.length) {\n revert MalformedCurrentValidatorSet();\n }\n // Check that the supplied current validator set matches the saved checkpoint.\n if (\n _domainSeparateValidatorSetHash(\n powerThreshold,\n validatorTimestamp,\n keccak256(abi.encode(_currentValidatorSet))\n ) != lastValidatorSetCheckpoint\n ) {\n revert SuppliedValidatorSetInvalid();\n }\n bytes32 _dataDigest = keccak256(\n abi.encode(\n NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR,\n _attestData.queryId,\n _attestData.report.value,\n _attestData.report.timestamp,\n _attestData.report.aggregatePower,\n _attestData.report.previousTimestamp,\n _attestData.report.nextTimestamp,\n lastValidatorSetCheckpoint,\n _attestData.attestationTimestamp,\n _attestData.report.lastConsensusTimestamp\n )\n );\n _checkValidatorSignatures(\n _currentValidatorSet,\n _sigs,\n _dataDigest,\n powerThreshold\n );\n }\n\n /*Internal functions*/\n /// @dev Checks that enough voting power signed over a digest.\n /// It expects the signatures to be in the same order as the _currentValidators.\n /// @param _currentValidators The current validators.\n /// @param _sigs The current validators' signatures.\n /// @param _digest This is what we are checking they have signed.\n /// @param _powerThreshold At least this much power must have signed.\n function _checkValidatorSignatures(\n // The current validator set and their powers\n Validator[] calldata _currentValidators,\n Signature[] calldata _sigs,\n bytes32 _digest,\n uint256 _powerThreshold\n ) internal view {\n if (block.timestamp - (validatorTimestamp / MS_PER_SECOND) > unbondingPeriod) {\n revert StaleValidatorSet();\n }\n uint256 _cumulativePower = 0;\n for (uint256 _i = 0; _i < _currentValidators.length; _i++) {\n // If the signature is nil, then it's not present so continue.\n if (_sigs[_i].r == 0 && _sigs[_i].s == 0 && _sigs[_i].v == 0) {\n continue;\n }\n // Check that the current validator has signed off on the hash.\n if (!_verifySig(_currentValidators[_i].addr, _digest, _sigs[_i])) {\n revert InvalidSignature();\n }\n _cumulativePower += _currentValidators[_i].power;\n // Break early to avoid wasting gas.\n if (_cumulativePower >= _powerThreshold) {\n break;\n }\n }\n if (_cumulativePower < _powerThreshold) {\n revert InsufficientVotingPower();\n }\n }\n\n /// @dev A hash of all relevant information about the validator set.\n /// @param _powerThreshold Amount of voting power needed to approve operations. (2/3 of total)\n /// @param _validatorTimestamp The timestamp of the block where validator set is updated.\n /// @param _validatorSetHash Validator set hash.\n /// @return The domain separated hash of the validator set.\n function _domainSeparateValidatorSetHash(\n uint256 _powerThreshold,\n uint256 _validatorTimestamp,\n bytes32 _validatorSetHash\n ) internal pure returns (bytes32) {\n return\n keccak256(\n abi.encode(\n VALIDATOR_SET_HASH_DOMAIN_SEPARATOR,\n _powerThreshold,\n _validatorTimestamp,\n _validatorSetHash\n )\n );\n }\n\n /// @notice Utility function to verify Tellor Layer signatures\n /// @param _signer The address that signed the message.\n /// @param _digest The digest that was signed.\n /// @param _sig The signature.\n /// @return bool True if the signature is valid.\n function _verifySig(\n address _signer,\n bytes32 _digest,\n Signature calldata _sig\n ) internal pure returns (bool) {\n _digest = sha256(abi.encodePacked(_digest));\n (address _recovered, RecoverError error, ) = tryRecover(_digest, _sig.v, _sig.r, _sig.s);\n if (error != RecoverError.NoError) {\n revert InvalidSignature();\n }\n return _signer == _recovered;\n }\n}\n\n"},"contracts/YoloTellorUser.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\nimport \"./interfaces/ITellorDataBridge.sol\";\n\ncontract YoloTellorUser {\n ITellorDataBridge public dataBridge;\n OracleData[] public oracleData;\n\n struct OracleData {\n uint256 value; // reported value\n uint256 timestamp; // aggregate report timestamp\n }\n\n constructor(address _dataBridge) {\n dataBridge = ITellorDataBridge(_dataBridge);\n }\n\n function updateOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external {\n dataBridge.verifyOracleData(_attestData, _currentValidatorSet, _sigs);\n uint256 _value = abi.decode(_attestData.report.value, (uint256));\n oracleData.push(OracleData(\n _value, \n _attestData.report.timestamp\n ));\n }\n\n function getCurrentOracleData() external view returns (OracleData memory) {\n return oracleData[oracleData.length - 1];\n }\n\n function getValueCount() external view returns (uint256) {\n return oracleData.length;\n }\n}"}},"settings":{"optimizer":{"enabled":false,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/YoloTellorUser.sol":{"ast":{"absolutePath":"contracts/YoloTellorUser.sol","exportedSymbols":{"ITellorDataBridge":[166],"OracleAttestationData":[106],"ReportData":[119],"Signature":[126],"Validator":[131],"YoloTellorUser":[96]},"id":97,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"32:23:0"},{"absolutePath":"contracts/interfaces/ITellorDataBridge.sol","file":"./interfaces/ITellorDataBridge.sol","id":2,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":97,"sourceUnit":167,"src":"57:44:0","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"YoloTellorUser","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":96,"linearizedBaseContracts":[96],"name":"YoloTellorUser","nameLocation":"112:14:0","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"578855b2","id":5,"mutability":"mutable","name":"dataBridge","nameLocation":"158:10:0","nodeType":"VariableDeclaration","scope":96,"src":"133:35:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$166","typeString":"contract ITellorDataBridge"},"typeName":{"id":4,"nodeType":"UserDefinedTypeName","pathNode":{"id":3,"name":"ITellorDataBridge","nameLocations":["133:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":166,"src":"133:17:0"},"referencedDeclaration":166,"src":"133:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$166","typeString":"contract ITellorDataBridge"}},"visibility":"public"},{"constant":false,"functionSelector":"aa4dea00","id":9,"mutability":"mutable","name":"oracleData","nameLocation":"194:10:0","nodeType":"VariableDeclaration","scope":96,"src":"174:30:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$14_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData[]"},"typeName":{"baseType":{"id":7,"nodeType":"UserDefinedTypeName","pathNode":{"id":6,"name":"OracleData","nameLocations":["174:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":14,"src":"174:10:0"},"referencedDeclaration":14,"src":"174:10:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$14_storage_ptr","typeString":"struct YoloTellorUser.OracleData"}},"id":8,"nodeType":"ArrayTypeName","src":"174:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$14_storage_$dyn_storage_ptr","typeString":"struct YoloTellorUser.OracleData[]"}},"visibility":"public"},{"canonicalName":"YoloTellorUser.OracleData","id":14,"members":[{"constant":false,"id":11,"mutability":"mutable","name":"value","nameLocation":"247:5:0","nodeType":"VariableDeclaration","scope":14,"src":"239:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10,"name":"uint256","nodeType":"ElementaryTypeName","src":"239:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13,"mutability":"mutable","name":"timestamp","nameLocation":"288:9:0","nodeType":"VariableDeclaration","scope":14,"src":"280:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12,"name":"uint256","nodeType":"ElementaryTypeName","src":"280:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OracleData","nameLocation":"218:10:0","nodeType":"StructDefinition","scope":96,"src":"211:123:0","visibility":"public"},{"body":{"id":25,"nodeType":"Block","src":"373:60:0","statements":[{"expression":{"id":23,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":19,"name":"dataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"383:10:0","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$166","typeString":"contract ITellorDataBridge"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":21,"name":"_dataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16,"src":"414:11:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":20,"name":"ITellorDataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":166,"src":"396:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITellorDataBridge_$166_$","typeString":"type(contract ITellorDataBridge)"}},"id":22,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"396:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$166","typeString":"contract ITellorDataBridge"}},"src":"383:43:0","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$166","typeString":"contract ITellorDataBridge"}},"id":24,"nodeType":"ExpressionStatement","src":"383:43:0"}]},"id":26,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":17,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16,"mutability":"mutable","name":"_dataBridge","nameLocation":"360:11:0","nodeType":"VariableDeclaration","scope":26,"src":"352:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15,"name":"address","nodeType":"ElementaryTypeName","src":"352:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"351:21:0"},"returnParameters":{"id":18,"nodeType":"ParameterList","parameters":[],"src":"373:0:0"},"scope":96,"src":"340:93:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":71,"nodeType":"Block","src":"619:270:0","statements":[{"expression":{"arguments":[{"id":43,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"657:11:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},{"id":44,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33,"src":"670:20:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},{"id":45,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"692:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_OracleAttestationData_$106_calldata_ptr","typeString":"struct OracleAttestationData calldata"},{"typeIdentifier":"t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"},{"typeIdentifier":"t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}],"expression":{"id":40,"name":"dataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"629:10:0","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$166","typeString":"contract ITellorDataBridge"}},"id":42,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"640:16:0","memberName":"verifyOracleData","nodeType":"MemberAccess","referencedDeclaration":165,"src":"629:27:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_struct$_OracleAttestationData_$106_memory_ptr_$_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (struct OracleAttestationData memory,struct Validator memory[] memory,struct Signature memory[] memory) view external"}},"id":46,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"629:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47,"nodeType":"ExpressionStatement","src":"629:69:0"},{"assignments":[49],"declarations":[{"constant":false,"id":49,"mutability":"mutable","name":"_value","nameLocation":"716:6:0","nodeType":"VariableDeclaration","scope":71,"src":"708:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59,"initialValue":{"arguments":[{"expression":{"expression":{"id":52,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"736:11:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":53,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"748:6:0","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":103,"src":"736:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$119_calldata_ptr","typeString":"struct ReportData calldata"}},"id":54,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"755:5:0","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":108,"src":"736:24:0","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":56,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"763:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":55,"name":"uint256","nodeType":"ElementaryTypeName","src":"763:7:0","typeDescriptions":{}}}],"id":57,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"762:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":50,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"725:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"729:6:0","memberName":"decode","nodeType":"MemberAccess","src":"725:10:0","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":58,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"725:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"708:64:0"},{"expression":{"arguments":[{"arguments":[{"id":64,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49,"src":"822:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":65,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"843:11:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":66,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"855:6:0","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":103,"src":"843:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$119_calldata_ptr","typeString":"struct ReportData calldata"}},"id":67,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"862:9:0","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":110,"src":"843:28:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63,"name":"OracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14,"src":"798:10:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_OracleData_$14_storage_ptr_$","typeString":"type(struct YoloTellorUser.OracleData storage pointer)"}},"id":68,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"798:83:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$14_memory_ptr","typeString":"struct YoloTellorUser.OracleData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_OracleData_$14_memory_ptr","typeString":"struct YoloTellorUser.OracleData memory"}],"expression":{"id":60,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9,"src":"782:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$14_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":62,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"793:4:0","memberName":"push","nodeType":"MemberAccess","src":"782:15:0","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_OracleData_$14_storage_$dyn_storage_ptr_$_t_struct$_OracleData_$14_storage_$returns$__$attached_to$_t_array$_t_struct$_OracleData_$14_storage_$dyn_storage_ptr_$","typeString":"function (struct YoloTellorUser.OracleData storage ref[] storage pointer,struct YoloTellorUser.OracleData storage ref)"}},"id":69,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"782:100:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70,"nodeType":"ExpressionStatement","src":"782:100:0"}]},"functionSelector":"61808010","id":72,"implemented":true,"kind":"function","modifiers":[],"name":"updateOracleData","nameLocation":"448:16:0","nodeType":"FunctionDefinition","parameters":{"id":38,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29,"mutability":"mutable","name":"_attestData","nameLocation":"505:11:0","nodeType":"VariableDeclaration","scope":72,"src":"474:42:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":28,"nodeType":"UserDefinedTypeName","pathNode":{"id":27,"name":"OracleAttestationData","nameLocations":["474:21:0"],"nodeType":"IdentifierPath","referencedDeclaration":106,"src":"474:21:0"},"referencedDeclaration":106,"src":"474:21:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":33,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"547:20:0","nodeType":"VariableDeclaration","scope":72,"src":"526:41:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":31,"nodeType":"UserDefinedTypeName","pathNode":{"id":30,"name":"Validator","nameLocations":["526:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":131,"src":"526:9:0"},"referencedDeclaration":131,"src":"526:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$131_storage_ptr","typeString":"struct Validator"}},"id":32,"nodeType":"ArrayTypeName","src":"526:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$131_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":37,"mutability":"mutable","name":"_sigs","nameLocation":"598:5:0","nodeType":"VariableDeclaration","scope":72,"src":"577:26:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":35,"nodeType":"UserDefinedTypeName","pathNode":{"id":34,"name":"Signature","nameLocations":["577:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":126,"src":"577:9:0"},"referencedDeclaration":126,"src":"577:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$126_storage_ptr","typeString":"struct Signature"}},"id":36,"nodeType":"ArrayTypeName","src":"577:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$126_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"464:145:0"},"returnParameters":{"id":39,"nodeType":"ParameterList","parameters":[],"src":"619:0:0"},"scope":96,"src":"439:450:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":85,"nodeType":"Block","src":"969:57:0","statements":[{"expression":{"baseExpression":{"id":78,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9,"src":"986:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$14_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":83,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9,"src":"997:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$14_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":80,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1008:6:0","memberName":"length","nodeType":"MemberAccess","src":"997:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":81,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1017:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"997:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"986:33:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$14_storage","typeString":"struct YoloTellorUser.OracleData storage ref"}},"functionReturnParameters":77,"id":84,"nodeType":"Return","src":"979:40:0"}]},"functionSelector":"bffe07bf","id":86,"implemented":true,"kind":"function","modifiers":[],"name":"getCurrentOracleData","nameLocation":"904:20:0","nodeType":"FunctionDefinition","parameters":{"id":73,"nodeType":"ParameterList","parameters":[],"src":"924:2:0"},"returnParameters":{"id":77,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86,"src":"950:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$14_memory_ptr","typeString":"struct YoloTellorUser.OracleData"},"typeName":{"id":75,"nodeType":"UserDefinedTypeName","pathNode":{"id":74,"name":"OracleData","nameLocations":["950:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":14,"src":"950:10:0"},"referencedDeclaration":14,"src":"950:10:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$14_storage_ptr","typeString":"struct YoloTellorUser.OracleData"}},"visibility":"internal"}],"src":"949:19:0"},"scope":96,"src":"895:131:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":94,"nodeType":"Block","src":"1089:41:0","statements":[{"expression":{"expression":{"id":91,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9,"src":"1106:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$14_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":92,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1117:6:0","memberName":"length","nodeType":"MemberAccess","src":"1106:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":90,"id":93,"nodeType":"Return","src":"1099:24:0"}]},"functionSelector":"413a89b4","id":95,"implemented":true,"kind":"function","modifiers":[],"name":"getValueCount","nameLocation":"1041:13:0","nodeType":"FunctionDefinition","parameters":{"id":87,"nodeType":"ParameterList","parameters":[],"src":"1054:2:0"},"returnParameters":{"id":90,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95,"src":"1080:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88,"name":"uint256","nodeType":"ElementaryTypeName","src":"1080:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1079:9:0"},"scope":96,"src":"1032:98:0","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":97,"src":"103:1029:0","usedErrors":[]}],"src":"32:1100:0"},"id":0},"contracts/interfaces/ITellorDataBridge.sol":{"ast":{"absolutePath":"contracts/interfaces/ITellorDataBridge.sol","exportedSymbols":{"ITellorDataBridge":[166],"OracleAttestationData":[106],"ReportData":[119],"Signature":[126],"Validator":[131]},"id":167,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":98,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:1"},{"canonicalName":"OracleAttestationData","id":106,"members":[{"constant":false,"id":100,"mutability":"mutable","name":"queryId","nameLocation":"100:7:1","nodeType":"VariableDeclaration","scope":106,"src":"92:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":99,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":103,"mutability":"mutable","name":"report","nameLocation":"124:6:1","nodeType":"VariableDeclaration","scope":106,"src":"113:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$119_storage_ptr","typeString":"struct ReportData"},"typeName":{"id":102,"nodeType":"UserDefinedTypeName","pathNode":{"id":101,"name":"ReportData","nameLocations":["113:10:1"],"nodeType":"IdentifierPath","referencedDeclaration":119,"src":"113:10:1"},"referencedDeclaration":119,"src":"113:10:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$119_storage_ptr","typeString":"struct ReportData"}},"visibility":"internal"},{"constant":false,"id":105,"mutability":"mutable","name":"attestationTimestamp","nameLocation":"144:20:1","nodeType":"VariableDeclaration","scope":106,"src":"136:28:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":104,"name":"uint256","nodeType":"ElementaryTypeName","src":"136:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OracleAttestationData","nameLocation":"64:21:1","nodeType":"StructDefinition","scope":167,"src":"57:155:1","visibility":"public"},{"canonicalName":"ReportData","id":119,"members":[{"constant":false,"id":108,"mutability":"mutable","name":"value","nameLocation":"244:5:1","nodeType":"VariableDeclaration","scope":119,"src":"238:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":107,"name":"bytes","nodeType":"ElementaryTypeName","src":"238:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":110,"mutability":"mutable","name":"timestamp","nameLocation":"263:9:1","nodeType":"VariableDeclaration","scope":119,"src":"255:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":109,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":112,"mutability":"mutable","name":"aggregatePower","nameLocation":"332:14:1","nodeType":"VariableDeclaration","scope":119,"src":"324:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":111,"name":"uint256","nodeType":"ElementaryTypeName","src":"324:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":114,"mutability":"mutable","name":"previousTimestamp","nameLocation":"360:17:1","nodeType":"VariableDeclaration","scope":119,"src":"352:25:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":113,"name":"uint256","nodeType":"ElementaryTypeName","src":"352:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":116,"mutability":"mutable","name":"nextTimestamp","nameLocation":"391:13:1","nodeType":"VariableDeclaration","scope":119,"src":"383:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115,"name":"uint256","nodeType":"ElementaryTypeName","src":"383:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":118,"mutability":"mutable","name":"lastConsensusTimestamp","nameLocation":"418:22:1","nodeType":"VariableDeclaration","scope":119,"src":"410:30:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":117,"name":"uint256","nodeType":"ElementaryTypeName","src":"410:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ReportData","nameLocation":"221:10:1","nodeType":"StructDefinition","scope":167,"src":"214:229:1","visibility":"public"},{"canonicalName":"Signature","id":126,"members":[{"constant":false,"id":121,"mutability":"mutable","name":"v","nameLocation":"474:1:1","nodeType":"VariableDeclaration","scope":126,"src":"468:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":120,"name":"uint8","nodeType":"ElementaryTypeName","src":"468:5:1","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":123,"mutability":"mutable","name":"r","nameLocation":"489:1:1","nodeType":"VariableDeclaration","scope":126,"src":"481:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":122,"name":"bytes32","nodeType":"ElementaryTypeName","src":"481:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":125,"mutability":"mutable","name":"s","nameLocation":"504:1:1","nodeType":"VariableDeclaration","scope":126,"src":"496:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"496:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Signature","nameLocation":"452:9:1","nodeType":"StructDefinition","scope":167,"src":"445:63:1","visibility":"public"},{"canonicalName":"Validator","id":131,"members":[{"constant":false,"id":128,"mutability":"mutable","name":"addr","nameLocation":"541:4:1","nodeType":"VariableDeclaration","scope":131,"src":"533:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127,"name":"address","nodeType":"ElementaryTypeName","src":"533:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":130,"mutability":"mutable","name":"power","nameLocation":"559:5:1","nodeType":"VariableDeclaration","scope":131,"src":"551:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":129,"name":"uint256","nodeType":"ElementaryTypeName","src":"551:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Validator","nameLocation":"517:9:1","nodeType":"StructDefinition","scope":167,"src":"510:57:1","visibility":"public"},{"abstract":false,"baseContracts":[],"canonicalName":"ITellorDataBridge","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":166,"linearizedBaseContracts":[166],"name":"ITellorDataBridge","nameLocation":"579:17:1","nodeType":"ContractDefinition","nodes":[{"functionSelector":"452a9320","id":136,"implemented":false,"kind":"function","modifiers":[],"name":"guardian","nameLocation":"612:8:1","nodeType":"FunctionDefinition","parameters":{"id":132,"nodeType":"ParameterList","parameters":[],"src":"620:2:1"},"returnParameters":{"id":135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136,"src":"646:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":133,"name":"address","nodeType":"ElementaryTypeName","src":"646:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"645:9:1"},"scope":166,"src":"603:52:1","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ba95ec27","id":141,"implemented":false,"kind":"function","modifiers":[],"name":"powerThreshold","nameLocation":"669:14:1","nodeType":"FunctionDefinition","parameters":{"id":137,"nodeType":"ParameterList","parameters":[],"src":"683:2:1"},"returnParameters":{"id":140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":139,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":141,"src":"709:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":138,"name":"uint256","nodeType":"ElementaryTypeName","src":"709:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"708:9:1"},"scope":166,"src":"660:58:1","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"6cf6d675","id":146,"implemented":false,"kind":"function","modifiers":[],"name":"unbondingPeriod","nameLocation":"732:15:1","nodeType":"FunctionDefinition","parameters":{"id":142,"nodeType":"ParameterList","parameters":[],"src":"747:2:1"},"returnParameters":{"id":145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":144,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":146,"src":"773:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":143,"name":"uint256","nodeType":"ElementaryTypeName","src":"773:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"772:9:1"},"scope":166,"src":"723:59:1","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"4f76f1ee","id":151,"implemented":false,"kind":"function","modifiers":[],"name":"validatorTimestamp","nameLocation":"796:18:1","nodeType":"FunctionDefinition","parameters":{"id":147,"nodeType":"ParameterList","parameters":[],"src":"814:2:1"},"returnParameters":{"id":150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":149,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":151,"src":"840:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":148,"name":"uint256","nodeType":"ElementaryTypeName","src":"840:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"839:9:1"},"scope":166,"src":"787:62:1","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"5e0d3b0f","id":165,"implemented":false,"kind":"function","modifiers":[],"name":"verifyOracleData","nameLocation":"863:16:1","nodeType":"FunctionDefinition","parameters":{"id":163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":154,"mutability":"mutable","name":"_attestData","nameLocation":"920:11:1","nodeType":"VariableDeclaration","scope":165,"src":"889:42:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":153,"nodeType":"UserDefinedTypeName","pathNode":{"id":152,"name":"OracleAttestationData","nameLocations":["889:21:1"],"nodeType":"IdentifierPath","referencedDeclaration":106,"src":"889:21:1"},"referencedDeclaration":106,"src":"889:21:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":158,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"962:20:1","nodeType":"VariableDeclaration","scope":165,"src":"941:41:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":156,"nodeType":"UserDefinedTypeName","pathNode":{"id":155,"name":"Validator","nameLocations":["941:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":131,"src":"941:9:1"},"referencedDeclaration":131,"src":"941:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$131_storage_ptr","typeString":"struct Validator"}},"id":157,"nodeType":"ArrayTypeName","src":"941:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$131_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":162,"mutability":"mutable","name":"_sigs","nameLocation":"1013:5:1","nodeType":"VariableDeclaration","scope":165,"src":"992:26:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":160,"nodeType":"UserDefinedTypeName","pathNode":{"id":159,"name":"Signature","nameLocations":["992:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":126,"src":"992:9:1"},"referencedDeclaration":126,"src":"992:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$126_storage_ptr","typeString":"struct Signature"}},"id":161,"nodeType":"ArrayTypeName","src":"992:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$126_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"879:145:1"},"returnParameters":{"id":164,"nodeType":"ParameterList","parameters":[],"src":"1038:0:1"},"scope":166,"src":"854:185:1","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":167,"src":"569:472:1","usedErrors":[]}],"src":"32:1009:1"},"id":1},"contracts/testing/bridge/Constants.sol":{"ast":{"absolutePath":"contracts/testing/bridge/Constants.sol","exportedSymbols":{"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR":[172],"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR":[176]},"id":177,"license":"Apache-2.0","nodeType":"SourceUnit","nodes":[{"id":168,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"39:23:2"},{"constant":true,"id":172,"mutability":"constant","name":"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR","nameLocation":"148:39:2","nodeType":"VariableDeclaration","scope":177,"src":"131:129:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837343635366336633666373234333735373237323635366537343431373437343635373337343631373436393666366530303030303030303030303030303030","id":171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"194:66:2","typeDescriptions":{"typeIdentifier":"t_rational_52647490301217880958921255742851195000291213299261488381361933475469663928320_by_1","typeString":"int_const 5264...(69 digits omitted)...8320"},"value":"0x74656c6c6f7243757272656e744174746573746174696f6e0000000000000000"},"visibility":"internal"},{"constant":true,"id":176,"mutability":"constant","name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","nameLocation":"333:35:2","nodeType":"VariableDeclaration","scope":177,"src":"316:125:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"316:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307836333638363536333662373036663639366537343030303030303030303030303030303030303030303030303030303030303030303030303030303030303030","id":175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"375:66:2","typeDescriptions":{"typeIdentifier":"t_rational_44963423861210738682159135835257249530040214621620767658963725067490955362304_by_1","typeString":"int_const 4496...(69 digits omitted)...2304"},"value":"0x636865636b706f696e7400000000000000000000000000000000000000000000"},"visibility":"internal"}],"src":"39:408:2"},"id":2},"contracts/testing/bridge/ECDSA.sol":{"ast":{"absolutePath":"contracts/testing/bridge/ECDSA.sol","exportedSymbols":{"ECDSA":[534]},"id":535,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":178,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"111:23:3"},{"abstract":false,"baseContracts":[],"canonicalName":"ECDSA","contractDependencies":[],"contractKind":"contract","documentation":{"id":179,"nodeType":"StructuredDocumentation","src":"136:205:3","text":" @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n These functions can be used to verify that a message was signed by the holder\n of the private keys of a given address."},"fullyImplemented":true,"id":534,"linearizedBaseContracts":[534],"name":"ECDSA","nameLocation":"351:5:3","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ECDSA.RecoverError","id":184,"members":[{"id":180,"name":"NoError","nameLocation":"391:7:3","nodeType":"EnumValue","src":"391:7:3"},{"id":181,"name":"InvalidSignature","nameLocation":"408:16:3","nodeType":"EnumValue","src":"408:16:3"},{"id":182,"name":"InvalidSignatureLength","nameLocation":"434:22:3","nodeType":"EnumValue","src":"434:22:3"},{"id":183,"name":"InvalidSignatureS","nameLocation":"466:17:3","nodeType":"EnumValue","src":"466:17:3"}],"name":"RecoverError","nameLocation":"368:12:3","nodeType":"EnumDefinition","src":"363:126:3"},{"documentation":{"id":185,"nodeType":"StructuredDocumentation","src":"495:63:3","text":" @dev The signature derives the `address(0)`."},"errorSelector":"f645eedf","id":187,"name":"ECDSAInvalidSignature","nameLocation":"569:21:3","nodeType":"ErrorDefinition","parameters":{"id":186,"nodeType":"ParameterList","parameters":[],"src":"590:2:3"},"src":"563:30:3"},{"documentation":{"id":188,"nodeType":"StructuredDocumentation","src":"599:60:3","text":" @dev The signature has an invalid length."},"errorSelector":"fce698f7","id":192,"name":"ECDSAInvalidSignatureLength","nameLocation":"670:27:3","nodeType":"ErrorDefinition","parameters":{"id":191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":190,"mutability":"mutable","name":"length","nameLocation":"706:6:3","nodeType":"VariableDeclaration","scope":192,"src":"698:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":189,"name":"uint256","nodeType":"ElementaryTypeName","src":"698:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"697:16:3"},"src":"664:50:3"},{"documentation":{"id":193,"nodeType":"StructuredDocumentation","src":"720:85:3","text":" @dev The signature has an S value that is in the upper half order."},"errorSelector":"d78bce0c","id":197,"name":"ECDSAInvalidSignatureS","nameLocation":"816:22:3","nodeType":"ErrorDefinition","parameters":{"id":196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":195,"mutability":"mutable","name":"s","nameLocation":"847:1:3","nodeType":"VariableDeclaration","scope":197,"src":"839:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":194,"name":"bytes32","nodeType":"ElementaryTypeName","src":"839:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"838:11:3"},"src":"810:40:3"},{"body":{"id":249,"nodeType":"Block","src":"2263:715:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":212,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":202,"src":"2277:9:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2287:6:3","memberName":"length","nodeType":"MemberAccess","src":"2277:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3635","id":214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2297:2:3","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"65"},"src":"2277:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":247,"nodeType":"Block","src":"2802:170:3","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2849:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2841:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":234,"name":"address","nodeType":"ElementaryTypeName","src":"2841:7:3","typeDescriptions":{}}},"id":237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2841:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":238,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"2869:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$184_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2882:22:3","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":182,"src":"2869:35:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"expression":{"id":242,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":202,"src":"2930:9:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2940:6:3","memberName":"length","nodeType":"MemberAccess","src":"2930:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2922:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2922:7:3","typeDescriptions":{}}},"id":244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2922:25:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":245,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2823:138:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":211,"id":246,"nodeType":"Return","src":"2816:145:3"}]},"id":248,"nodeType":"IfStatement","src":"2273:699:3","trueBody":{"id":233,"nodeType":"Block","src":"2301:495:3","statements":[{"assignments":[217],"declarations":[{"constant":false,"id":217,"mutability":"mutable","name":"r","nameLocation":"2323:1:3","nodeType":"VariableDeclaration","scope":233,"src":"2315:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2315:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":218,"nodeType":"VariableDeclarationStatement","src":"2315:9:3"},{"assignments":[220],"declarations":[{"constant":false,"id":220,"mutability":"mutable","name":"s","nameLocation":"2346:1:3","nodeType":"VariableDeclaration","scope":233,"src":"2338:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2338:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":221,"nodeType":"VariableDeclarationStatement","src":"2338:9:3"},{"assignments":[223],"declarations":[{"constant":false,"id":223,"mutability":"mutable","name":"v","nameLocation":"2367:1:3","nodeType":"VariableDeclaration","scope":233,"src":"2361:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":222,"name":"uint8","nodeType":"ElementaryTypeName","src":"2361:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":224,"nodeType":"VariableDeclarationStatement","src":"2361:7:3"},{"AST":{"nodeType":"YulBlock","src":"2569:171:3","statements":[{"nodeType":"YulAssignment","src":"2587:32:3","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2602:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"2613:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2598:3:3"},"nodeType":"YulFunctionCall","src":"2598:20:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2592:5:3"},"nodeType":"YulFunctionCall","src":"2592:27:3"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"2587:1:3"}]},{"nodeType":"YulAssignment","src":"2636:32:3","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2651:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"2662:4:3","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2647:3:3"},"nodeType":"YulFunctionCall","src":"2647:20:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2641:5:3"},"nodeType":"YulFunctionCall","src":"2641:27:3"},"variableNames":[{"name":"s","nodeType":"YulIdentifier","src":"2636:1:3"}]},{"nodeType":"YulAssignment","src":"2685:41:3","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2695:1:3","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2708:9:3"},{"kind":"number","nodeType":"YulLiteral","src":"2719:4:3","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2704:3:3"},"nodeType":"YulFunctionCall","src":"2704:20:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2698:5:3"},"nodeType":"YulFunctionCall","src":"2698:27:3"}],"functionName":{"name":"byte","nodeType":"YulIdentifier","src":"2690:4:3"},"nodeType":"YulFunctionCall","src":"2690:36:3"},"variableNames":[{"name":"v","nodeType":"YulIdentifier","src":"2685:1:3"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":217,"isOffset":false,"isSlot":false,"src":"2587:1:3","valueSize":1},{"declaration":220,"isOffset":false,"isSlot":false,"src":"2636:1:3","valueSize":1},{"declaration":202,"isOffset":false,"isSlot":false,"src":"2602:9:3","valueSize":1},{"declaration":202,"isOffset":false,"isSlot":false,"src":"2651:9:3","valueSize":1},{"declaration":202,"isOffset":false,"isSlot":false,"src":"2708:9:3","valueSize":1},{"declaration":223,"isOffset":false,"isSlot":false,"src":"2685:1:3","valueSize":1}],"id":225,"nodeType":"InlineAssembly","src":"2560:180:3"},{"expression":{"arguments":[{"id":227,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"2771:4:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":228,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":223,"src":"2777:1:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":229,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":217,"src":"2780:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":230,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":220,"src":"2783:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":226,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[250,330,438],"referencedDeclaration":438,"src":"2760:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2760:25:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":211,"id":232,"nodeType":"Return","src":"2753:32:3"}]}}]},"documentation":{"id":198,"nodeType":"StructuredDocumentation","src":"856:1267:3","text":" @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not\n return address(0) without also returning an error description. Errors are documented using an enum (error type)\n and a bytes32 providing additional information about the error.\n If no error is returned, then the address can be used for verification purposes.\n The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n Documentation for signature generation:\n - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]"},"id":250,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"2137:10:3","nodeType":"FunctionDefinition","parameters":{"id":203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":200,"mutability":"mutable","name":"hash","nameLocation":"2165:4:3","nodeType":"VariableDeclaration","scope":250,"src":"2157:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2157:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":202,"mutability":"mutable","name":"signature","nameLocation":"2192:9:3","nodeType":"VariableDeclaration","scope":250,"src":"2179:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":201,"name":"bytes","nodeType":"ElementaryTypeName","src":"2179:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2147:60:3"},"returnParameters":{"id":211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":205,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":250,"src":"2231:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":204,"name":"address","nodeType":"ElementaryTypeName","src":"2231:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":208,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":250,"src":"2240:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":207,"nodeType":"UserDefinedTypeName","pathNode":{"id":206,"name":"RecoverError","nameLocations":["2240:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":184,"src":"2240:12:3"},"referencedDeclaration":184,"src":"2240:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":250,"src":"2254:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2254:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2230:32:3"},"scope":534,"src":"2128:850:3","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":279,"nodeType":"Block","src":"3894:202:3","statements":[{"assignments":[261,264,266],"declarations":[{"constant":false,"id":261,"mutability":"mutable","name":"recovered","nameLocation":"3913:9:3","nodeType":"VariableDeclaration","scope":279,"src":"3905:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":260,"name":"address","nodeType":"ElementaryTypeName","src":"3905:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":264,"mutability":"mutable","name":"error","nameLocation":"3937:5:3","nodeType":"VariableDeclaration","scope":279,"src":"3924:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":263,"nodeType":"UserDefinedTypeName","pathNode":{"id":262,"name":"RecoverError","nameLocations":["3924:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":184,"src":"3924:12:3"},"referencedDeclaration":184,"src":"3924:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":266,"mutability":"mutable","name":"errorArg","nameLocation":"3952:8:3","nodeType":"VariableDeclaration","scope":279,"src":"3944:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3944:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":271,"initialValue":{"arguments":[{"id":268,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":253,"src":"3988:4:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":269,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":255,"src":"4006:9:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":267,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[250,330,438],"referencedDeclaration":250,"src":"3964:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"function (bytes32,bytes memory) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3964:61:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"3904:121:3"},{"expression":{"arguments":[{"id":273,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":264,"src":"4047:5:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},{"id":274,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":266,"src":"4054:8:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":272,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":523,"src":"4035:11:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$184_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4035:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":276,"nodeType":"ExpressionStatement","src":"4035:28:3"},{"expression":{"id":277,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":261,"src":"4080:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":259,"id":278,"nodeType":"Return","src":"4073:16:3"}]},"documentation":{"id":251,"nodeType":"StructuredDocumentation","src":"2984:796:3","text":" @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it."},"id":280,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"3794:7:3","nodeType":"FunctionDefinition","parameters":{"id":256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":253,"mutability":"mutable","name":"hash","nameLocation":"3819:4:3","nodeType":"VariableDeclaration","scope":280,"src":"3811:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3811:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":255,"mutability":"mutable","name":"signature","nameLocation":"3846:9:3","nodeType":"VariableDeclaration","scope":280,"src":"3833:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":254,"name":"bytes","nodeType":"ElementaryTypeName","src":"3833:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3801:60:3"},"returnParameters":{"id":259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":280,"src":"3885:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":257,"name":"address","nodeType":"ElementaryTypeName","src":"3885:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3884:9:3"},"scope":534,"src":"3785:311:3","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":329,"nodeType":"Block","src":"4454:396:3","statements":[{"id":328,"nodeType":"UncheckedBlock","src":"4464:380:3","statements":[{"assignments":[298],"declarations":[{"constant":false,"id":298,"mutability":"mutable","name":"s","nameLocation":"4496:1:3","nodeType":"VariableDeclaration","scope":328,"src":"4488:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":297,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4488:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":305,"initialValue":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":299,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":287,"src":"4500:2:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"hexValue":"307837666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666","id":302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4550:66:3","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"},"value":"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"}],"id":301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4521:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":300,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4521:7:3","typeDescriptions":{}}},"id":303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4521:113:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4500:134:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4488:146:3"},{"assignments":[307],"declarations":[{"constant":false,"id":307,"mutability":"mutable","name":"v","nameLocation":"4751:1:3","nodeType":"VariableDeclaration","scope":328,"src":"4745:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":306,"name":"uint8","nodeType":"ElementaryTypeName","src":"4745:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":320,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":312,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":287,"src":"4770:2:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4762:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":310,"name":"uint256","nodeType":"ElementaryTypeName","src":"4762:7:3","typeDescriptions":{}}},"id":313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4762:11:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4777:3:3","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"4762:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":316,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4761:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3237","id":317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4784:2:3","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},"src":"4761:25:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4755:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":308,"name":"uint8","nodeType":"ElementaryTypeName","src":"4755:5:3","typeDescriptions":{}}},"id":319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4755:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"4745:42:3"},{"expression":{"arguments":[{"id":322,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":283,"src":"4819:4:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":323,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":307,"src":"4825:1:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":324,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":285,"src":"4828:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":325,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":298,"src":"4831:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":321,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[250,330,438],"referencedDeclaration":438,"src":"4808:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4808:25:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":296,"id":327,"nodeType":"Return","src":"4801:32:3"}]}]},"documentation":{"id":281,"nodeType":"StructuredDocumentation","src":"4102:205:3","text":" @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n See https://eips.ethereum.org/EIPS/eip-2098[ERC-2098 short signatures]"},"id":330,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"4321:10:3","nodeType":"FunctionDefinition","parameters":{"id":288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":283,"mutability":"mutable","name":"hash","nameLocation":"4349:4:3","nodeType":"VariableDeclaration","scope":330,"src":"4341:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":282,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4341:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":285,"mutability":"mutable","name":"r","nameLocation":"4371:1:3","nodeType":"VariableDeclaration","scope":330,"src":"4363:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4363:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":287,"mutability":"mutable","name":"vs","nameLocation":"4390:2:3","nodeType":"VariableDeclaration","scope":330,"src":"4382:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4382:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4331:67:3"},"returnParameters":{"id":296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":330,"src":"4422:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":289,"name":"address","nodeType":"ElementaryTypeName","src":"4422:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":330,"src":"4431:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":292,"nodeType":"UserDefinedTypeName","pathNode":{"id":291,"name":"RecoverError","nameLocations":["4431:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":184,"src":"4431:12:3"},"referencedDeclaration":184,"src":"4431:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":295,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":330,"src":"4445:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":294,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4445:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4421:32:3"},"scope":534,"src":"4312:538:3","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":362,"nodeType":"Block","src":"5093:210:3","statements":[{"assignments":[343,346,348],"declarations":[{"constant":false,"id":343,"mutability":"mutable","name":"recovered","nameLocation":"5112:9:3","nodeType":"VariableDeclaration","scope":362,"src":"5104:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":342,"name":"address","nodeType":"ElementaryTypeName","src":"5104:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":346,"mutability":"mutable","name":"error","nameLocation":"5136:5:3","nodeType":"VariableDeclaration","scope":362,"src":"5123:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":345,"nodeType":"UserDefinedTypeName","pathNode":{"id":344,"name":"RecoverError","nameLocations":["5123:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":184,"src":"5123:12:3"},"referencedDeclaration":184,"src":"5123:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":348,"mutability":"mutable","name":"errorArg","nameLocation":"5151:8:3","nodeType":"VariableDeclaration","scope":362,"src":"5143:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5143:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":354,"initialValue":{"arguments":[{"id":350,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":333,"src":"5187:4:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":351,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":335,"src":"5205:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":352,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":337,"src":"5220:2:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":349,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[250,330,438],"referencedDeclaration":330,"src":"5163:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5163:69:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"5103:129:3"},{"expression":{"arguments":[{"id":356,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"5254:5:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},{"id":357,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":348,"src":"5261:8:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":355,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":523,"src":"5242:11:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$184_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5242:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":359,"nodeType":"ExpressionStatement","src":"5242:28:3"},{"expression":{"id":360,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":343,"src":"5287:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":341,"id":361,"nodeType":"Return","src":"5280:16:3"}]},"documentation":{"id":331,"nodeType":"StructuredDocumentation","src":"4856:116:3","text":" @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately."},"id":363,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"4986:7:3","nodeType":"FunctionDefinition","parameters":{"id":338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":333,"mutability":"mutable","name":"hash","nameLocation":"5011:4:3","nodeType":"VariableDeclaration","scope":363,"src":"5003:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":332,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5003:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":335,"mutability":"mutable","name":"r","nameLocation":"5033:1:3","nodeType":"VariableDeclaration","scope":363,"src":"5025:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":334,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5025:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":337,"mutability":"mutable","name":"vs","nameLocation":"5052:2:3","nodeType":"VariableDeclaration","scope":363,"src":"5044:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":336,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5044:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4993:67:3"},"returnParameters":{"id":341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":340,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":363,"src":"5084:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":339,"name":"address","nodeType":"ElementaryTypeName","src":"5084:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5083:9:3"},"scope":534,"src":"4977:326:3","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":437,"nodeType":"Block","src":"5597:1406:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":384,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":372,"src":"6506:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6498:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":382,"name":"uint256","nodeType":"ElementaryTypeName","src":"6498:7:3","typeDescriptions":{}}},"id":385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6498:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130","id":386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6523:66:3","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1","typeString":"int_const 5789...(69 digits omitted)...7168"},"value":"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0"},"src":"6498:91:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":398,"nodeType":"IfStatement","src":"6481:198:3","trueBody":{"id":397,"nodeType":"Block","src":"6600:79:3","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6630:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6622:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":388,"name":"address","nodeType":"ElementaryTypeName","src":"6622:7:3","typeDescriptions":{}}},"id":391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6622:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":392,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"6634:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$184_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6647:17:3","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":183,"src":"6634:30:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},{"id":394,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":372,"src":"6666:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":395,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6621:47:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":381,"id":396,"nodeType":"Return","src":"6614:54:3"}]}},{"assignments":[400],"declarations":[{"constant":false,"id":400,"mutability":"mutable","name":"signer","nameLocation":"6781:6:3","nodeType":"VariableDeclaration","scope":437,"src":"6773:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":399,"name":"address","nodeType":"ElementaryTypeName","src":"6773:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":407,"initialValue":{"arguments":[{"id":402,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":366,"src":"6800:4:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":403,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":368,"src":"6806:1:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":404,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":370,"src":"6809:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":405,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":372,"src":"6812:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":401,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"6790:9:3","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6790:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6773:41:3"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":408,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":400,"src":"6828:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6846:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6838:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":409,"name":"address","nodeType":"ElementaryTypeName","src":"6838:7:3","typeDescriptions":{}}},"id":412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6838:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6828:20:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":427,"nodeType":"IfStatement","src":"6824:113:3","trueBody":{"id":426,"nodeType":"Block","src":"6850:87:3","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6880:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6872:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":414,"name":"address","nodeType":"ElementaryTypeName","src":"6872:7:3","typeDescriptions":{}}},"id":417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6872:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":418,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"6884:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$184_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6897:16:3","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":181,"src":"6884:29:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"hexValue":"30","id":422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6923:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6915:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6915:7:3","typeDescriptions":{}}},"id":423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6915:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":424,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6871:55:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":381,"id":425,"nodeType":"Return","src":"6864:62:3"}]}},{"expression":{"components":[{"id":428,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":400,"src":"6955:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":429,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"6963:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$184_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6976:7:3","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":180,"src":"6963:20:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"hexValue":"30","id":433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6993:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6985:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6985:7:3","typeDescriptions":{}}},"id":434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6985:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":435,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6954:42:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":381,"id":436,"nodeType":"Return","src":"6947:49:3"}]},"documentation":{"id":364,"nodeType":"StructuredDocumentation","src":"5309:125:3","text":" @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n `r` and `s` signature fields separately."},"id":438,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"5448:10:3","nodeType":"FunctionDefinition","parameters":{"id":373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":366,"mutability":"mutable","name":"hash","nameLocation":"5476:4:3","nodeType":"VariableDeclaration","scope":438,"src":"5468:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5468:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":368,"mutability":"mutable","name":"v","nameLocation":"5496:1:3","nodeType":"VariableDeclaration","scope":438,"src":"5490:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":367,"name":"uint8","nodeType":"ElementaryTypeName","src":"5490:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":370,"mutability":"mutable","name":"r","nameLocation":"5515:1:3","nodeType":"VariableDeclaration","scope":438,"src":"5507:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":369,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5507:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":372,"mutability":"mutable","name":"s","nameLocation":"5534:1:3","nodeType":"VariableDeclaration","scope":438,"src":"5526:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5526:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5458:83:3"},"returnParameters":{"id":381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":375,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":438,"src":"5565:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":374,"name":"address","nodeType":"ElementaryTypeName","src":"5565:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":378,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":438,"src":"5574:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":377,"nodeType":"UserDefinedTypeName","pathNode":{"id":376,"name":"RecoverError","nameLocations":["5574:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":184,"src":"5574:12:3"},"referencedDeclaration":184,"src":"5574:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":380,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":438,"src":"5588:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5588:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5564:32:3"},"scope":534,"src":"5439:1564:3","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":473,"nodeType":"Block","src":"7268:224:3","statements":[{"assignments":[453,456,458],"declarations":[{"constant":false,"id":453,"mutability":"mutable","name":"recovered","nameLocation":"7287:9:3","nodeType":"VariableDeclaration","scope":473,"src":"7279:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":452,"name":"address","nodeType":"ElementaryTypeName","src":"7279:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":456,"mutability":"mutable","name":"error","nameLocation":"7311:5:3","nodeType":"VariableDeclaration","scope":473,"src":"7298:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":455,"nodeType":"UserDefinedTypeName","pathNode":{"id":454,"name":"RecoverError","nameLocations":["7298:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":184,"src":"7298:12:3"},"referencedDeclaration":184,"src":"7298:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":458,"mutability":"mutable","name":"errorArg","nameLocation":"7326:8:3","nodeType":"VariableDeclaration","scope":473,"src":"7318:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":457,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7318:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":465,"initialValue":{"arguments":[{"id":460,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":441,"src":"7362:4:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":461,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":443,"src":"7380:1:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":462,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":445,"src":"7395:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":463,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":447,"src":"7410:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":459,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[250,330,438],"referencedDeclaration":438,"src":"7338:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7338:83:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"7278:143:3"},{"expression":{"arguments":[{"id":467,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"7443:5:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},{"id":468,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"7450:8:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":466,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":523,"src":"7431:11:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$184_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7431:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":470,"nodeType":"ExpressionStatement","src":"7431:28:3"},{"expression":{"id":471,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"7476:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":451,"id":472,"nodeType":"Return","src":"7469:16:3"}]},"documentation":{"id":439,"nodeType":"StructuredDocumentation","src":"7009:122:3","text":" @dev Overload of {ECDSA-recover} that receives the `v`,\n `r` and `s` signature fields separately."},"id":474,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"7145:7:3","nodeType":"FunctionDefinition","parameters":{"id":448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":441,"mutability":"mutable","name":"hash","nameLocation":"7170:4:3","nodeType":"VariableDeclaration","scope":474,"src":"7162:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":440,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7162:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":443,"mutability":"mutable","name":"v","nameLocation":"7190:1:3","nodeType":"VariableDeclaration","scope":474,"src":"7184:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":442,"name":"uint8","nodeType":"ElementaryTypeName","src":"7184:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":445,"mutability":"mutable","name":"r","nameLocation":"7209:1:3","nodeType":"VariableDeclaration","scope":474,"src":"7201:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":444,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7201:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":447,"mutability":"mutable","name":"s","nameLocation":"7228:1:3","nodeType":"VariableDeclaration","scope":474,"src":"7220:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7220:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7152:83:3"},"returnParameters":{"id":451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":450,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":474,"src":"7259:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":449,"name":"address","nodeType":"ElementaryTypeName","src":"7259:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7258:9:3"},"scope":534,"src":"7136:356:3","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":522,"nodeType":"Block","src":"7697:460:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},"id":486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":483,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"7711:5:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":484,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"7720:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$184_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7733:7:3","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":180,"src":"7720:20:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"src":"7711:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":489,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"7807:5:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":490,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"7816:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$184_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7829:16:3","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":181,"src":"7816:29:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"src":"7807:38:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},"id":500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":497,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"7912:5:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":498,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"7921:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$184_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7934:22:3","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":182,"src":"7921:35:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"src":"7912:44:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},"id":512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":509,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"8046:5:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":510,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"8055:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$184_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8068:17:3","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":183,"src":"8055:30:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"src":"8046:39:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":518,"nodeType":"IfStatement","src":"8042:109:3","trueBody":{"id":517,"nodeType":"Block","src":"8087:64:3","statements":[{"errorCall":{"arguments":[{"id":514,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":480,"src":"8131:8:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":513,"name":"ECDSAInvalidSignatureS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":197,"src":"8108:22:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8108:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":516,"nodeType":"RevertStatement","src":"8101:39:3"}]}},"id":519,"nodeType":"IfStatement","src":"7908:243:3","trueBody":{"id":508,"nodeType":"Block","src":"7958:78:3","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":504,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":480,"src":"8015:8:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8007:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":502,"name":"uint256","nodeType":"ElementaryTypeName","src":"8007:7:3","typeDescriptions":{}}},"id":505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8007:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":501,"name":"ECDSAInvalidSignatureLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"7979:27:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7979:46:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":507,"nodeType":"RevertStatement","src":"7972:53:3"}]}},"id":520,"nodeType":"IfStatement","src":"7803:348:3","trueBody":{"id":496,"nodeType":"Block","src":"7847:55:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":493,"name":"ECDSAInvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"7868:21:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7868:23:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":495,"nodeType":"RevertStatement","src":"7861:30:3"}]}},"id":521,"nodeType":"IfStatement","src":"7707:444:3","trueBody":{"id":488,"nodeType":"Block","src":"7742:55:3","statements":[{"functionReturnParameters":482,"id":487,"nodeType":"Return","src":"7756:7:3"}]}}]},"documentation":{"id":475,"nodeType":"StructuredDocumentation","src":"7498:122:3","text":" @dev Optionally reverts with the corresponding custom error according to the `error` argument provided."},"id":523,"implemented":true,"kind":"function","modifiers":[],"name":"_throwError","nameLocation":"7634:11:3","nodeType":"FunctionDefinition","parameters":{"id":481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":478,"mutability":"mutable","name":"error","nameLocation":"7659:5:3","nodeType":"VariableDeclaration","scope":523,"src":"7646:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":477,"nodeType":"UserDefinedTypeName","pathNode":{"id":476,"name":"RecoverError","nameLocations":["7646:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":184,"src":"7646:12:3"},"referencedDeclaration":184,"src":"7646:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":480,"mutability":"mutable","name":"errorArg","nameLocation":"7674:8:3","nodeType":"VariableDeclaration","scope":523,"src":"7666:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":479,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7666:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7645:38:3"},"returnParameters":{"id":482,"nodeType":"ParameterList","parameters":[],"src":"7697:0:3"},"scope":534,"src":"7625:532:3","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":532,"nodeType":"Block","src":"8939:368:3","statements":[{"AST":{"nodeType":"YulBlock","src":"9001:300:3","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9022:4:3","type":"","value":"0x00"},{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a3332","kind":"string","nodeType":"YulLiteral","src":"9028:34:3","type":"","value":"\u0019Ethereum Signed Message:\n32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9015:6:3"},"nodeType":"YulFunctionCall","src":"9015:48:3"},"nodeType":"YulExpressionStatement","src":"9015:48:3"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9124:4:3","type":"","value":"0x1c"},{"name":"messageHash","nodeType":"YulIdentifier","src":"9130:11:3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9117:6:3"},"nodeType":"YulFunctionCall","src":"9117:25:3"},"nodeType":"YulExpressionStatement","src":"9117:25:3"},{"nodeType":"YulAssignment","src":"9196:31:3","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9216:4:3","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"9222:4:3","type":"","value":"0x3c"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"9206:9:3"},"nodeType":"YulFunctionCall","src":"9206:21:3"},"variableNames":[{"name":"digest","nodeType":"YulIdentifier","src":"9196:6:3"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":529,"isOffset":false,"isSlot":false,"src":"9196:6:3","valueSize":1},{"declaration":526,"isOffset":false,"isSlot":false,"src":"9130:11:3","valueSize":1}],"id":531,"nodeType":"InlineAssembly","src":"8992:309:3"}]},"documentation":{"id":524,"nodeType":"StructuredDocumentation","src":"8163:665:3","text":" @dev Returns the keccak256 digest of an ERC-191 signed data with version\n `0x45` (`personal_sign` messages).\n The digest is calculated by prefixing a bytes32 `messageHash` with\n `\"\\x19Ethereum Signed Message:\\n32\"` and hashing the result. It corresponds with the\n hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.\n NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with\n keccak256, although any bytes32 value can be safely used because the final digest will\n be re-hashed.\n See {ECDSA-recover}."},"id":533,"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"8842:22:3","nodeType":"FunctionDefinition","parameters":{"id":527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":526,"mutability":"mutable","name":"messageHash","nameLocation":"8882:11:3","nodeType":"VariableDeclaration","scope":533,"src":"8874:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8874:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8864:35:3"},"returnParameters":{"id":530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":529,"mutability":"mutable","name":"digest","nameLocation":"8931:6:3","nodeType":"VariableDeclaration","scope":533,"src":"8923:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8923:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8922:16:3"},"scope":534,"src":"8833:474:3","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":535,"src":"342:8967:3","usedErrors":[187,192,197]}],"src":"111:9199:3"},"id":3},"contracts/testing/bridge/TellorDataBridge.sol":{"ast":{"absolutePath":"contracts/testing/bridge/TellorDataBridge.sol","exportedSymbols":{"ECDSA":[534],"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR":[172],"OracleAttestationData":[547],"ReportData":[560],"Signature":[567],"TellorDataBridge":[1125],"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR":[176],"Validator":[572]},"id":1126,"license":"Apache-2.0","nodeType":"SourceUnit","nodes":[{"id":536,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"39:23:4"},{"absolutePath":"contracts/testing/bridge/ECDSA.sol","file":"./ECDSA.sol","id":538,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1126,"sourceUnit":535,"src":"64:34:4","symbolAliases":[{"foreign":{"id":537,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":534,"src":"72:5:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/testing/bridge/Constants.sol","file":"./Constants.sol","id":539,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1126,"sourceUnit":177,"src":"99:25:4","symbolAliases":[],"unitAlias":""},{"canonicalName":"OracleAttestationData","id":547,"members":[{"constant":false,"id":541,"mutability":"mutable","name":"queryId","nameLocation":"169:7:4","nodeType":"VariableDeclaration","scope":547,"src":"161:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":540,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":544,"mutability":"mutable","name":"report","nameLocation":"193:6:4","nodeType":"VariableDeclaration","scope":547,"src":"182:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$560_storage_ptr","typeString":"struct ReportData"},"typeName":{"id":543,"nodeType":"UserDefinedTypeName","pathNode":{"id":542,"name":"ReportData","nameLocations":["182:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":560,"src":"182:10:4"},"referencedDeclaration":560,"src":"182:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$560_storage_ptr","typeString":"struct ReportData"}},"visibility":"internal"},{"constant":false,"id":546,"mutability":"mutable","name":"attestationTimestamp","nameLocation":"213:20:4","nodeType":"VariableDeclaration","scope":547,"src":"205:28:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":545,"name":"uint256","nodeType":"ElementaryTypeName","src":"205:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OracleAttestationData","nameLocation":"133:21:4","nodeType":"StructDefinition","scope":1126,"src":"126:154:4","visibility":"public"},{"canonicalName":"ReportData","id":560,"members":[{"constant":false,"id":549,"mutability":"mutable","name":"value","nameLocation":"312:5:4","nodeType":"VariableDeclaration","scope":560,"src":"306:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":548,"name":"bytes","nodeType":"ElementaryTypeName","src":"306:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":551,"mutability":"mutable","name":"timestamp","nameLocation":"331:9:4","nodeType":"VariableDeclaration","scope":560,"src":"323:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":550,"name":"uint256","nodeType":"ElementaryTypeName","src":"323:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":553,"mutability":"mutable","name":"aggregatePower","nameLocation":"399:14:4","nodeType":"VariableDeclaration","scope":560,"src":"391:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":552,"name":"uint256","nodeType":"ElementaryTypeName","src":"391:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":555,"mutability":"mutable","name":"previousTimestamp","nameLocation":"427:17:4","nodeType":"VariableDeclaration","scope":560,"src":"419:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":554,"name":"uint256","nodeType":"ElementaryTypeName","src":"419:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":557,"mutability":"mutable","name":"nextTimestamp","nameLocation":"458:13:4","nodeType":"VariableDeclaration","scope":560,"src":"450:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":556,"name":"uint256","nodeType":"ElementaryTypeName","src":"450:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":559,"mutability":"mutable","name":"lastConsensusTimestamp","nameLocation":"485:22:4","nodeType":"VariableDeclaration","scope":560,"src":"477:30:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":558,"name":"uint256","nodeType":"ElementaryTypeName","src":"477:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ReportData","nameLocation":"289:10:4","nodeType":"StructDefinition","scope":1126,"src":"282:228:4","visibility":"public"},{"canonicalName":"Signature","id":567,"members":[{"constant":false,"id":562,"mutability":"mutable","name":"v","nameLocation":"541:1:4","nodeType":"VariableDeclaration","scope":567,"src":"535:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":561,"name":"uint8","nodeType":"ElementaryTypeName","src":"535:5:4","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":564,"mutability":"mutable","name":"r","nameLocation":"556:1:4","nodeType":"VariableDeclaration","scope":567,"src":"548:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"548:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":566,"mutability":"mutable","name":"s","nameLocation":"571:1:4","nodeType":"VariableDeclaration","scope":567,"src":"563:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"563:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Signature","nameLocation":"519:9:4","nodeType":"StructDefinition","scope":1126,"src":"512:63:4","visibility":"public"},{"canonicalName":"Validator","id":572,"members":[{"constant":false,"id":569,"mutability":"mutable","name":"addr","nameLocation":"608:4:4","nodeType":"VariableDeclaration","scope":572,"src":"600:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":568,"name":"address","nodeType":"ElementaryTypeName","src":"600:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":571,"mutability":"mutable","name":"power","nameLocation":"626:5:4","nodeType":"VariableDeclaration","scope":572,"src":"618:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":570,"name":"uint256","nodeType":"ElementaryTypeName","src":"618:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Validator","nameLocation":"584:9:4","nodeType":"StructDefinition","scope":1126,"src":"577:57:4","visibility":"public"},{"abstract":false,"baseContracts":[{"baseName":{"id":574,"name":"ECDSA","nameLocations":["1004:5:4"],"nodeType":"IdentifierPath","referencedDeclaration":534,"src":"1004:5:4"},"id":575,"nodeType":"InheritanceSpecifier","src":"1004:5:4"}],"canonicalName":"TellorDataBridge","contractDependencies":[],"contractKind":"contract","documentation":{"id":573,"nodeType":"StructuredDocumentation","src":"637:338:4","text":"@title TellorDataBridge: Tellor Layer -> EVM, Oracle relay.\n @dev The relay relies on a set of signers to attest to some event on\n Tellor Layer. These signers are the validator set, who sign over every\n block. At least 2/3 of the voting power of the current\n view of the validator set must sign off on new relayed events."},"fullyImplemented":true,"id":1125,"linearizedBaseContracts":[1125,534],"name":"TellorDataBridge","nameLocation":"984:16:4","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"452a9320","id":577,"mutability":"mutable","name":"guardian","nameLocation":"1048:8:4","nodeType":"VariableDeclaration","scope":1125,"src":"1033:23:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":576,"name":"address","nodeType":"ElementaryTypeName","src":"1033:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"documentation":{"id":578,"nodeType":"StructuredDocumentation","src":"1058:76:4","text":"Able to reset the validator set only if the validator set becomes stale."},"functionSelector":"af082a7d","id":580,"mutability":"mutable","name":"lastValidatorSetCheckpoint","nameLocation":"1154:26:4","nodeType":"VariableDeclaration","scope":1125,"src":"1139:41:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":579,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1139:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":false,"documentation":{"id":581,"nodeType":"StructuredDocumentation","src":"1182:59:4","text":"Domain-separated commitment to the latest validator set."},"functionSelector":"ba95ec27","id":583,"mutability":"mutable","name":"powerThreshold","nameLocation":"1261:14:4","nodeType":"VariableDeclaration","scope":1125,"src":"1246:29:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":582,"name":"uint256","nodeType":"ElementaryTypeName","src":"1246:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"documentation":{"id":584,"nodeType":"StructuredDocumentation","src":"1277:49:4","text":"Voting power required to submit a new update."},"functionSelector":"6cf6d675","id":586,"mutability":"mutable","name":"unbondingPeriod","nameLocation":"1346:15:4","nodeType":"VariableDeclaration","scope":1125,"src":"1331:30:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":585,"name":"uint256","nodeType":"ElementaryTypeName","src":"1331:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"documentation":{"id":587,"nodeType":"StructuredDocumentation","src":"1363:65:4","text":"Time period after which a validator can withdraw their stake."},"functionSelector":"4f76f1ee","id":589,"mutability":"mutable","name":"validatorTimestamp","nameLocation":"1448:18:4","nodeType":"VariableDeclaration","scope":1125,"src":"1433:33:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":588,"name":"uint256","nodeType":"ElementaryTypeName","src":"1433:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"documentation":{"id":590,"nodeType":"StructuredDocumentation","src":"1468:58:4","text":"Timestamp of the block where validator set is updated."},"functionSelector":"d5f39488","id":592,"mutability":"mutable","name":"deployer","nameLocation":"1546:8:4","nodeType":"VariableDeclaration","scope":1125,"src":"1531:23:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":591,"name":"address","nodeType":"ElementaryTypeName","src":"1531:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"documentation":{"id":593,"nodeType":"StructuredDocumentation","src":"1556:39:4","text":"Address that deployed the contract."},"functionSelector":"158ef93e","id":595,"mutability":"mutable","name":"initialized","nameLocation":"1612:11:4","nodeType":"VariableDeclaration","scope":1125,"src":"1600:23:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":594,"name":"bool","nodeType":"ElementaryTypeName","src":"1600:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"constant":true,"documentation":{"id":596,"nodeType":"StructuredDocumentation","src":"1625:40:4","text":"True if the contract is initialized."},"functionSelector":"1a8bcd34","id":599,"mutability":"constant","name":"MS_PER_SECOND","nameLocation":"1694:13:4","nodeType":"VariableDeclaration","scope":1125,"src":"1670:44:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":597,"name":"uint256","nodeType":"ElementaryTypeName","src":"1670:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1710:4:4","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"visibility":"public"},{"anonymous":false,"eventSelector":"d7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb09","id":607,"name":"GuardianResetValidatorSet","nameLocation":"1787:25:4","nodeType":"EventDefinition","parameters":{"id":606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":601,"indexed":false,"mutability":"mutable","name":"_powerThreshold","nameLocation":"1821:15:4","nodeType":"VariableDeclaration","scope":607,"src":"1813:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":600,"name":"uint256","nodeType":"ElementaryTypeName","src":"1813:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":603,"indexed":false,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"1846:19:4","nodeType":"VariableDeclaration","scope":607,"src":"1838:27:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":602,"name":"uint256","nodeType":"ElementaryTypeName","src":"1838:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":605,"indexed":false,"mutability":"mutable","name":"_validatorSetHash","nameLocation":"1875:17:4","nodeType":"VariableDeclaration","scope":607,"src":"1867:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":604,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1867:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1812:81:4"},"src":"1781:113:4"},{"anonymous":false,"eventSelector":"e304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e","id":615,"name":"ValidatorSetUpdated","nameLocation":"1905:19:4","nodeType":"EventDefinition","parameters":{"id":614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":609,"indexed":false,"mutability":"mutable","name":"_powerThreshold","nameLocation":"1933:15:4","nodeType":"VariableDeclaration","scope":615,"src":"1925:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":608,"name":"uint256","nodeType":"ElementaryTypeName","src":"1925:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":611,"indexed":false,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"1958:19:4","nodeType":"VariableDeclaration","scope":615,"src":"1950:27:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":610,"name":"uint256","nodeType":"ElementaryTypeName","src":"1950:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":613,"indexed":false,"mutability":"mutable","name":"_validatorSetHash","nameLocation":"1987:17:4","nodeType":"VariableDeclaration","scope":615,"src":"1979:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1979:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1924:81:4"},"src":"1899:107:4"},{"errorSelector":"0dc149f0","id":617,"name":"AlreadyInitialized","nameLocation":"2033:18:4","nodeType":"ErrorDefinition","parameters":{"id":616,"nodeType":"ParameterList","parameters":[],"src":"2051:2:4"},"src":"2027:27:4"},{"errorSelector":"cabeb655","id":619,"name":"InsufficientVotingPower","nameLocation":"2065:23:4","nodeType":"ErrorDefinition","parameters":{"id":618,"nodeType":"ParameterList","parameters":[],"src":"2088:2:4"},"src":"2059:32:4"},{"errorSelector":"c3b70c88","id":621,"name":"InvalidPowerThreshold","nameLocation":"2102:21:4","nodeType":"ErrorDefinition","parameters":{"id":620,"nodeType":"ParameterList","parameters":[],"src":"2123:2:4"},"src":"2096:30:4"},{"errorSelector":"8baa579f","id":623,"name":"InvalidSignature","nameLocation":"2137:16:4","nodeType":"ErrorDefinition","parameters":{"id":622,"nodeType":"ParameterList","parameters":[],"src":"2153:2:4"},"src":"2131:25:4"},{"errorSelector":"c6617b7b","id":625,"name":"MalformedCurrentValidatorSet","nameLocation":"2167:28:4","nodeType":"ErrorDefinition","parameters":{"id":624,"nodeType":"ParameterList","parameters":[],"src":"2195:2:4"},"src":"2161:37:4"},{"errorSelector":"8b906c97","id":627,"name":"NotDeployer","nameLocation":"2209:11:4","nodeType":"ErrorDefinition","parameters":{"id":626,"nodeType":"ParameterList","parameters":[],"src":"2220:2:4"},"src":"2203:20:4"},{"errorSelector":"ef6d0f02","id":629,"name":"NotGuardian","nameLocation":"2234:11:4","nodeType":"ErrorDefinition","parameters":{"id":628,"nodeType":"ParameterList","parameters":[],"src":"2245:2:4"},"src":"2228:20:4"},{"errorSelector":"e5e5e464","id":631,"name":"StaleValidatorSet","nameLocation":"2259:17:4","nodeType":"ErrorDefinition","parameters":{"id":630,"nodeType":"ParameterList","parameters":[],"src":"2276:2:4"},"src":"2253:26:4"},{"errorSelector":"177b5d92","id":633,"name":"SuppliedValidatorSetInvalid","nameLocation":"2290:27:4","nodeType":"ErrorDefinition","parameters":{"id":632,"nodeType":"ParameterList","parameters":[],"src":"2317:2:4"},"src":"2284:36:4"},{"errorSelector":"1c36ced2","id":635,"name":"ValidatorSetNotStale","nameLocation":"2331:20:4","nodeType":"ErrorDefinition","parameters":{"id":634,"nodeType":"ParameterList","parameters":[],"src":"2351:2:4"},"src":"2325:29:4"},{"errorSelector":"780635d0","id":637,"name":"ValidatorTimestampMustIncrease","nameLocation":"2365:30:4","nodeType":"ErrorDefinition","parameters":{"id":636,"nodeType":"ParameterList","parameters":[],"src":"2395:2:4"},"src":"2359:39:4"},{"body":{"id":652,"nodeType":"Block","src":"2573:68:4","statements":[{"expression":{"id":645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":643,"name":"guardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":577,"src":"2583:8:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":644,"name":"_guardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":640,"src":"2594:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2583:20:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":646,"nodeType":"ExpressionStatement","src":"2583:20:4"},{"expression":{"id":650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":647,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":592,"src":"2613:8:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":648,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2624:3:4","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2628:6:4","memberName":"sender","nodeType":"MemberAccess","src":"2624:10:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2613:21:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":651,"nodeType":"ExpressionStatement","src":"2613:21:4"}]},"documentation":{"id":638,"nodeType":"StructuredDocumentation","src":"2422:101:4","text":"@notice Constructor for the TellorDataBridge contract.\n @param _guardian Guardian address."},"id":653,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":640,"mutability":"mutable","name":"_guardian","nameLocation":"2557:9:4","nodeType":"VariableDeclaration","scope":653,"src":"2549:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":639,"name":"address","nodeType":"ElementaryTypeName","src":"2549:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2539:33:4"},"returnParameters":{"id":642,"nodeType":"ParameterList","parameters":[],"src":"2573:0:4"},"scope":1125,"src":"2528:113:4","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":700,"nodeType":"Block","src":"3267:393:4","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":665,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3281:3:4","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3285:6:4","memberName":"sender","nodeType":"MemberAccess","src":"3281:10:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":667,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":592,"src":"3295:8:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3281:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":673,"nodeType":"IfStatement","src":"3277:73:4","trueBody":{"id":672,"nodeType":"Block","src":"3305:45:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":669,"name":"NotDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":627,"src":"3326:11:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3326:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":671,"nodeType":"RevertStatement","src":"3319:20:4"}]}},{"condition":{"id":674,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":595,"src":"3363:11:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":679,"nodeType":"IfStatement","src":"3359:69:4","trueBody":{"id":678,"nodeType":"Block","src":"3376:52:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":675,"name":"AlreadyInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"3397:18:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3397:20:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":677,"nodeType":"RevertStatement","src":"3390:27:4"}]}},{"expression":{"id":682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":680,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":595,"src":"3437:11:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3451:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3437:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":683,"nodeType":"ExpressionStatement","src":"3437:18:4"},{"expression":{"id":686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":684,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":583,"src":"3465:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":685,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":656,"src":"3482:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3465:32:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":687,"nodeType":"ExpressionStatement","src":"3465:32:4"},{"expression":{"id":690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":688,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"3507:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":689,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"3528:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3507:40:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":691,"nodeType":"ExpressionStatement","src":"3507:40:4"},{"expression":{"id":694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":692,"name":"unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":586,"src":"3557:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":693,"name":"_unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":660,"src":"3575:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3557:34:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":695,"nodeType":"ExpressionStatement","src":"3557:34:4"},{"expression":{"id":698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":696,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":580,"src":"3601:26:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":697,"name":"_validatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":662,"src":"3630:23:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3601:52:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":699,"nodeType":"ExpressionStatement","src":"3601:52:4"}]},"documentation":{"id":654,"nodeType":"StructuredDocumentation","src":"2647:441:4","text":"@notice This function is called only once by the deployer to initialize the contract\n @param _powerThreshold Initial voting power that is needed to approve operations\n @param _validatorTimestamp Timestamp of the block where validator set is updated.\n @param _unbondingPeriod Time period after which a validator can withdraw their stake.\n @param _validatorSetCheckpoint Initial checkpoint of the validator set."},"functionSelector":"4394f6f3","id":701,"implemented":true,"kind":"function","modifiers":[],"name":"init","nameLocation":"3102:4:4","nodeType":"FunctionDefinition","parameters":{"id":663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":656,"mutability":"mutable","name":"_powerThreshold","nameLocation":"3124:15:4","nodeType":"VariableDeclaration","scope":701,"src":"3116:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":655,"name":"uint256","nodeType":"ElementaryTypeName","src":"3116:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":658,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"3157:19:4","nodeType":"VariableDeclaration","scope":701,"src":"3149:27:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":657,"name":"uint256","nodeType":"ElementaryTypeName","src":"3149:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":660,"mutability":"mutable","name":"_unbondingPeriod","nameLocation":"3194:16:4","nodeType":"VariableDeclaration","scope":701,"src":"3186:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":659,"name":"uint256","nodeType":"ElementaryTypeName","src":"3186:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":662,"mutability":"mutable","name":"_validatorSetCheckpoint","nameLocation":"3228:23:4","nodeType":"VariableDeclaration","scope":701,"src":"3220:31:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3220:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3106:151:4"},"returnParameters":{"id":664,"nodeType":"ParameterList","parameters":[],"src":"3267:0:4"},"scope":1125,"src":"3093:567:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":760,"nodeType":"Block","src":"4192:607:4","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":711,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4206:3:4","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4210:6:4","memberName":"sender","nodeType":"MemberAccess","src":"4206:10:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":713,"name":"guardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":577,"src":"4220:8:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4206:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":719,"nodeType":"IfStatement","src":"4202:73:4","trueBody":{"id":718,"nodeType":"Block","src":"4230:45:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":715,"name":"NotGuardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":629,"src":"4251:11:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4251:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":717,"nodeType":"RevertStatement","src":"4244:20:4"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":720,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4288:5:4","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4294:9:4","memberName":"timestamp","nodeType":"MemberAccess","src":"4288:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":722,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"4307:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":723,"name":"MS_PER_SECOND","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"4328:13:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4307:34:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":725,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4306:36:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4288:54:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":727,"name":"unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":586,"src":"4345:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4288:72:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":733,"nodeType":"IfStatement","src":"4284:132:4","trueBody":{"id":732,"nodeType":"Block","src":"4362:54:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":729,"name":"ValidatorSetNotStale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":635,"src":"4383:20:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4383:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":731,"nodeType":"RevertStatement","src":"4376:29:4"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":734,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"4429:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":735,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"4452:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4429:41:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":741,"nodeType":"IfStatement","src":"4425:111:4","trueBody":{"id":740,"nodeType":"Block","src":"4472:64:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":737,"name":"ValidatorTimestampMustIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":637,"src":"4493:30:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4493:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":739,"nodeType":"RevertStatement","src":"4486:39:4"}]}},{"expression":{"id":744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":742,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":583,"src":"4545:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":743,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":704,"src":"4562:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4545:32:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":745,"nodeType":"ExpressionStatement","src":"4545:32:4"},{"expression":{"id":748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":746,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"4587:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":747,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"4608:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4587:40:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":749,"nodeType":"ExpressionStatement","src":"4587:40:4"},{"expression":{"id":752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":750,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":580,"src":"4637:26:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":751,"name":"_validatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":708,"src":"4666:23:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4637:52:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":753,"nodeType":"ExpressionStatement","src":"4637:52:4"},{"eventCall":{"arguments":[{"id":755,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":704,"src":"4730:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":756,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"4747:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":757,"name":"_validatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":708,"src":"4768:23:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":754,"name":"GuardianResetValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"4704:25:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,uint256,bytes32)"}},"id":758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4704:88:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":759,"nodeType":"EmitStatement","src":"4699:93:4"}]},"documentation":{"id":702,"nodeType":"StructuredDocumentation","src":"3666:360:4","text":"@notice This function is called by the guardian to reset the validator set\n only if it becomes stale.\n @param _powerThreshold Amount of voting power needed to approve operations.\n @param _validatorTimestamp The timestamp of the block where validator set is updated.\n @param _validatorSetCheckpoint The hash of the validator set."},"functionSelector":"185bf52b","id":761,"implemented":true,"kind":"function","modifiers":[],"name":"guardianResetValidatorSet","nameLocation":"4040:25:4","nodeType":"FunctionDefinition","parameters":{"id":709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":704,"mutability":"mutable","name":"_powerThreshold","nameLocation":"4083:15:4","nodeType":"VariableDeclaration","scope":761,"src":"4075:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":703,"name":"uint256","nodeType":"ElementaryTypeName","src":"4075:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":706,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"4116:19:4","nodeType":"VariableDeclaration","scope":761,"src":"4108:27:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":705,"name":"uint256","nodeType":"ElementaryTypeName","src":"4108:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":708,"mutability":"mutable","name":"_validatorSetCheckpoint","nameLocation":"4153:23:4","nodeType":"VariableDeclaration","scope":761,"src":"4145:31:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4145:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4065:117:4"},"returnParameters":{"id":710,"nodeType":"ParameterList","parameters":[],"src":"4192:0:4"},"scope":1125,"src":"4031:768:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":859,"nodeType":"Block","src":"5547:1430:4","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":779,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":772,"src":"5561:20:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5582:6:4","memberName":"length","nodeType":"MemberAccess","src":"5561:27:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":781,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":776,"src":"5592:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5598:6:4","memberName":"length","nodeType":"MemberAccess","src":"5592:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5561:43:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":788,"nodeType":"IfStatement","src":"5557:111:4","trueBody":{"id":787,"nodeType":"Block","src":"5606:62:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":784,"name":"MalformedCurrentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":625,"src":"5627:28:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5627:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":786,"nodeType":"RevertStatement","src":"5620:37:4"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":789,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"5681:22:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":790,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"5706:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5681:43:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":796,"nodeType":"IfStatement","src":"5677:113:4","trueBody":{"id":795,"nodeType":"Block","src":"5726:64:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":792,"name":"ValidatorTimestampMustIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":637,"src":"5747:30:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5747:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":794,"nodeType":"RevertStatement","src":"5740:39:4"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":797,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":766,"src":"5803:18:4","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5825:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5803:23:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":804,"nodeType":"IfStatement","src":"5799:84:4","trueBody":{"id":803,"nodeType":"Block","src":"5828:55:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":800,"name":"InvalidPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":621,"src":"5849:21:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5849:23:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":802,"nodeType":"RevertStatement","src":"5842:30:4"}]}},{"assignments":[806],"declarations":[{"constant":false,"id":806,"mutability":"mutable","name":"_currentValidatorSetHash","nameLocation":"5987:24:4","nodeType":"VariableDeclaration","scope":859,"src":"5979:32:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5979:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":813,"initialValue":{"arguments":[{"arguments":[{"id":810,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":772,"src":"6035:20:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}],"expression":{"id":808,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6024:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6028:6:4","memberName":"encode","nodeType":"MemberAccess","src":"6024:10:4","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6024:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":807,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6014:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6014:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5979:78:4"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":815,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":583,"src":"6133:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":816,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"6165:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":817,"name":"_currentValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":806,"src":"6201:24:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":814,"name":"_domainSeparateValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1073,"src":"6084:31:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,bytes32) pure returns (bytes32)"}},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6084:155:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":819,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":580,"src":"6243:26:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6084:185:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":825,"nodeType":"IfStatement","src":"6067:274:4","trueBody":{"id":824,"nodeType":"Block","src":"6280:61:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":821,"name":"SuppliedValidatorSetInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":633,"src":"6301:27:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6301:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":823,"nodeType":"RevertStatement","src":"6294:36:4"}]}},{"assignments":[827],"declarations":[{"constant":false,"id":827,"mutability":"mutable","name":"_newCheckpoint","nameLocation":"6359:14:4","nodeType":"VariableDeclaration","scope":859,"src":"6351:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6351:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":833,"initialValue":{"arguments":[{"id":829,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":766,"src":"6421:18:4","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":830,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"6453:22:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":831,"name":"_newValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":764,"src":"6489:20:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":828,"name":"_domainSeparateValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1073,"src":"6376:31:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,bytes32) pure returns (bytes32)"}},"id":832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6376:143:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6351:168:4"},{"expression":{"arguments":[{"id":835,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":772,"src":"6568:20:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},{"id":836,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":776,"src":"6602:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},{"id":837,"name":"_newCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":827,"src":"6621:14:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":838,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":583,"src":"6649:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"},{"typeIdentifier":"t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":834,"name":"_checkValidatorSignatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1050,"src":"6529:25:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr_$_t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct Validator calldata[] calldata,struct Signature calldata[] calldata,bytes32,uint256) view"}},"id":839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6529:144:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":840,"nodeType":"ExpressionStatement","src":"6529:144:4"},{"expression":{"id":843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":841,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":580,"src":"6683:26:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":842,"name":"_newCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":827,"src":"6712:14:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6683:43:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":844,"nodeType":"ExpressionStatement","src":"6683:43:4"},{"expression":{"id":847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":845,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":583,"src":"6736:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":846,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":766,"src":"6753:18:4","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"6736:35:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":848,"nodeType":"ExpressionStatement","src":"6736:35:4"},{"expression":{"id":851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":849,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"6781:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":850,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"6802:22:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6781:43:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":852,"nodeType":"ExpressionStatement","src":"6781:43:4"},{"eventCall":{"arguments":[{"id":854,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":766,"src":"6872:18:4","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":855,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"6904:22:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":856,"name":"_newValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":764,"src":"6940:20:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":853,"name":"ValidatorSetUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":615,"src":"6839:19:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,uint256,bytes32)"}},"id":857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6839:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":858,"nodeType":"EmitStatement","src":"6834:136:4"}]},"documentation":{"id":762,"nodeType":"StructuredDocumentation","src":"4805:494:4","text":"@notice This updates the validator set by checking that the validators\n in the current validator set have signed off on the new validator set.\n @param _newValidatorSetHash The hash of the new validator set.\n @param _newPowerThreshold At least this much power must have signed.\n @param _newValidatorTimestamp The timestamp of the block where validator set is updated.\n @param _currentValidatorSet The current validator set.\n @param _sigs Signatures."},"functionSelector":"84330d4c","id":860,"implemented":true,"kind":"function","modifiers":[],"name":"updateValidatorSet","nameLocation":"5313:18:4","nodeType":"FunctionDefinition","parameters":{"id":777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":764,"mutability":"mutable","name":"_newValidatorSetHash","nameLocation":"5349:20:4","nodeType":"VariableDeclaration","scope":860,"src":"5341:28:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5341:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":766,"mutability":"mutable","name":"_newPowerThreshold","nameLocation":"5386:18:4","nodeType":"VariableDeclaration","scope":860,"src":"5379:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":765,"name":"uint64","nodeType":"ElementaryTypeName","src":"5379:6:4","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":768,"mutability":"mutable","name":"_newValidatorTimestamp","nameLocation":"5422:22:4","nodeType":"VariableDeclaration","scope":860,"src":"5414:30:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":767,"name":"uint256","nodeType":"ElementaryTypeName","src":"5414:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":772,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"5475:20:4","nodeType":"VariableDeclaration","scope":860,"src":"5454:41:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":770,"nodeType":"UserDefinedTypeName","pathNode":{"id":769,"name":"Validator","nameLocations":["5454:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":572,"src":"5454:9:4"},"referencedDeclaration":572,"src":"5454:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$572_storage_ptr","typeString":"struct Validator"}},"id":771,"nodeType":"ArrayTypeName","src":"5454:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":776,"mutability":"mutable","name":"_sigs","nameLocation":"5526:5:4","nodeType":"VariableDeclaration","scope":860,"src":"5505:26:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":774,"nodeType":"UserDefinedTypeName","pathNode":{"id":773,"name":"Signature","nameLocations":["5505:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":567,"src":"5505:9:4"},"referencedDeclaration":567,"src":"5505:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$567_storage_ptr","typeString":"struct Signature"}},"id":775,"nodeType":"ArrayTypeName","src":"5505:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"5331:206:4"},"returnParameters":{"id":778,"nodeType":"ParameterList","parameters":[],"src":"5547:0:4"},"scope":1125,"src":"5304:1673:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":941,"nodeType":"Block","src":"7430:1298:4","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":875,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":868,"src":"7444:20:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7465:6:4","memberName":"length","nodeType":"MemberAccess","src":"7444:27:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":877,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":872,"src":"7475:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7481:6:4","memberName":"length","nodeType":"MemberAccess","src":"7475:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7444:43:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":884,"nodeType":"IfStatement","src":"7440:111:4","trueBody":{"id":883,"nodeType":"Block","src":"7489:62:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":880,"name":"MalformedCurrentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":625,"src":"7510:28:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7510:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":882,"nodeType":"RevertStatement","src":"7503:37:4"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":886,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":583,"src":"7713:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":887,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"7745:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"id":891,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":868,"src":"7802:20:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}],"expression":{"id":889,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7791:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7795:6:4","memberName":"encode","nodeType":"MemberAccess","src":"7791:10:4","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7791:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":888,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7781:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7781:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":885,"name":"_domainSeparateValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1073,"src":"7664:31:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,bytes32) pure returns (bytes32)"}},"id":894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7664:174:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":895,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":580,"src":"7842:26:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7664:204:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":901,"nodeType":"IfStatement","src":"7647:293:4","trueBody":{"id":900,"nodeType":"Block","src":"7879:61:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":897,"name":"SuppliedValidatorSetInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":633,"src":"7900:27:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7900:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":899,"nodeType":"RevertStatement","src":"7893:36:4"}]}},{"assignments":[903],"declarations":[{"constant":false,"id":903,"mutability":"mutable","name":"_dataDigest","nameLocation":"7957:11:4","nodeType":"VariableDeclaration","scope":941,"src":"7949:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":902,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7949:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":933,"initialValue":{"arguments":[{"arguments":[{"id":907,"name":"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":172,"src":"8030:39:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":908,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"8091:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$547_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8103:7:4","memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":541,"src":"8091:19:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"expression":{"id":910,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"8132:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$547_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8144:6:4","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":544,"src":"8132:18:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$560_calldata_ptr","typeString":"struct ReportData calldata"}},"id":912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8151:5:4","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":549,"src":"8132:24:4","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"expression":{"expression":{"id":913,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"8178:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$547_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8190:6:4","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":544,"src":"8178:18:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$560_calldata_ptr","typeString":"struct ReportData calldata"}},"id":915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8197:9:4","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":551,"src":"8178:28:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":916,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"8228:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$547_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8240:6:4","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":544,"src":"8228:18:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$560_calldata_ptr","typeString":"struct ReportData calldata"}},"id":918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8247:14:4","memberName":"aggregatePower","nodeType":"MemberAccess","referencedDeclaration":553,"src":"8228:33:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":919,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"8283:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$547_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8295:6:4","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":544,"src":"8283:18:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$560_calldata_ptr","typeString":"struct ReportData calldata"}},"id":921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8302:17:4","memberName":"previousTimestamp","nodeType":"MemberAccess","referencedDeclaration":555,"src":"8283:36:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":922,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"8341:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$547_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8353:6:4","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":544,"src":"8341:18:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$560_calldata_ptr","typeString":"struct ReportData calldata"}},"id":924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8360:13:4","memberName":"nextTimestamp","nodeType":"MemberAccess","referencedDeclaration":557,"src":"8341:32:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":925,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":580,"src":"8395:26:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":926,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"8443:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$547_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8455:20:4","memberName":"attestationTimestamp","nodeType":"MemberAccess","referencedDeclaration":546,"src":"8443:32:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":928,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"8497:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$547_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8509:6:4","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":544,"src":"8497:18:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$560_calldata_ptr","typeString":"struct ReportData calldata"}},"id":930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8516:22:4","memberName":"lastConsensusTimestamp","nodeType":"MemberAccess","referencedDeclaration":559,"src":"8497:41:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":905,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7998:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8002:6:4","memberName":"encode","nodeType":"MemberAccess","src":"7998:10:4","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7998:558:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":904,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7971:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7971:599:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7949:621:4"},{"expression":{"arguments":[{"id":935,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":868,"src":"8619:20:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},{"id":936,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":872,"src":"8653:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},{"id":937,"name":"_dataDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":903,"src":"8672:11:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":938,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":583,"src":"8697:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"},{"typeIdentifier":"t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":934,"name":"_checkValidatorSignatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1050,"src":"8580:25:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr_$_t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct Validator calldata[] calldata,struct Signature calldata[] calldata,bytes32,uint256) view"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8580:141:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":940,"nodeType":"ExpressionStatement","src":"8580:141:4"}]},"documentation":{"id":861,"nodeType":"StructuredDocumentation","src":"7012:229:4","text":"@notice This getter verifies a given piece of data vs Validator signatures\n @param _attestData The data being verified\n @param _currentValidatorSet array of current validator set\n @param _sigs Signatures."},"functionSelector":"5e0d3b0f","id":942,"implemented":true,"kind":"function","modifiers":[],"name":"verifyOracleData","nameLocation":"7255:16:4","nodeType":"FunctionDefinition","parameters":{"id":873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":864,"mutability":"mutable","name":"_attestData","nameLocation":"7312:11:4","nodeType":"VariableDeclaration","scope":942,"src":"7281:42:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$547_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":863,"nodeType":"UserDefinedTypeName","pathNode":{"id":862,"name":"OracleAttestationData","nameLocations":["7281:21:4"],"nodeType":"IdentifierPath","referencedDeclaration":547,"src":"7281:21:4"},"referencedDeclaration":547,"src":"7281:21:4","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$547_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":868,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"7354:20:4","nodeType":"VariableDeclaration","scope":942,"src":"7333:41:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":866,"nodeType":"UserDefinedTypeName","pathNode":{"id":865,"name":"Validator","nameLocations":["7333:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":572,"src":"7333:9:4"},"referencedDeclaration":572,"src":"7333:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$572_storage_ptr","typeString":"struct Validator"}},"id":867,"nodeType":"ArrayTypeName","src":"7333:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":872,"mutability":"mutable","name":"_sigs","nameLocation":"7405:5:4","nodeType":"VariableDeclaration","scope":942,"src":"7384:26:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":870,"nodeType":"UserDefinedTypeName","pathNode":{"id":869,"name":"Signature","nameLocations":["7384:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":567,"src":"7384:9:4"},"referencedDeclaration":567,"src":"7384:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$567_storage_ptr","typeString":"struct Signature"}},"id":871,"nodeType":"ArrayTypeName","src":"7384:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"7271:145:4"},"returnParameters":{"id":874,"nodeType":"ParameterList","parameters":[],"src":"7430:0:4"},"scope":1125,"src":"7246:1482:4","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1049,"nodeType":"Block","src":"9424:975:4","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":958,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9438:5:4","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9444:9:4","memberName":"timestamp","nodeType":"MemberAccess","src":"9438:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":960,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"9457:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":961,"name":"MS_PER_SECOND","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"9478:13:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9457:34:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":963,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9456:36:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9438:54:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":965,"name":"unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":586,"src":"9495:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9438:72:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":971,"nodeType":"IfStatement","src":"9434:129:4","trueBody":{"id":970,"nodeType":"Block","src":"9512:51:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":967,"name":"StaleValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":631,"src":"9533:17:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9533:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":969,"nodeType":"RevertStatement","src":"9526:26:4"}]}},{"assignments":[973],"declarations":[{"constant":false,"id":973,"mutability":"mutable","name":"_cumulativePower","nameLocation":"9580:16:4","nodeType":"VariableDeclaration","scope":1049,"src":"9572:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":972,"name":"uint256","nodeType":"ElementaryTypeName","src":"9572:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":975,"initialValue":{"hexValue":"30","id":974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9599:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9572:28:4"},{"body":{"id":1039,"nodeType":"Block","src":"9669:618:4","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":987,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":951,"src":"9762:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":989,"indexExpression":{"id":988,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"9768:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9762:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$567_calldata_ptr","typeString":"struct Signature calldata"}},"id":990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9772:1:4","memberName":"r","nodeType":"MemberAccess","referencedDeclaration":564,"src":"9762:11:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9777:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9762:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":993,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":951,"src":"9782:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":995,"indexExpression":{"id":994,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"9788:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9782:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$567_calldata_ptr","typeString":"struct Signature calldata"}},"id":996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9792:1:4","memberName":"s","nodeType":"MemberAccess","referencedDeclaration":566,"src":"9782:11:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9797:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9782:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9762:36:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":1005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1000,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":951,"src":"9802:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":1002,"indexExpression":{"id":1001,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"9808:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9802:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$567_calldata_ptr","typeString":"struct Signature calldata"}},"id":1003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9812:1:4","memberName":"v","nodeType":"MemberAccess","referencedDeclaration":562,"src":"9802:11:4","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9817:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9802:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9762:56:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1009,"nodeType":"IfStatement","src":"9758:103:4","trueBody":{"id":1008,"nodeType":"Block","src":"9820:41:4","statements":[{"id":1007,"nodeType":"Continue","src":"9838:8:4"}]}},{"condition":{"id":1020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9954:60:4","subExpression":{"arguments":[{"expression":{"baseExpression":{"id":1011,"name":"_currentValidators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"9966:18:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":1013,"indexExpression":{"id":1012,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"9985:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9966:22:4","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$572_calldata_ptr","typeString":"struct Validator calldata"}},"id":1014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9989:4:4","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":569,"src":"9966:27:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1015,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":953,"src":"9995:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":1016,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":951,"src":"10004:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":1018,"indexExpression":{"id":1017,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"10010:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10004:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$567_calldata_ptr","typeString":"struct Signature calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_Signature_$567_calldata_ptr","typeString":"struct Signature calldata"}],"id":1010,"name":"_verifySig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1124,"src":"9955:10:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes32_$_t_struct$_Signature_$567_calldata_ptr_$returns$_t_bool_$","typeString":"function (address,bytes32,struct Signature calldata) pure returns (bool)"}},"id":1019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9955:59:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1025,"nodeType":"IfStatement","src":"9950:124:4","trueBody":{"id":1024,"nodeType":"Block","src":"10016:58:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1021,"name":"InvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":623,"src":"10041:16:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10041:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1023,"nodeType":"RevertStatement","src":"10034:25:4"}]}},{"expression":{"id":1031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1026,"name":"_cumulativePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"10087:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":1027,"name":"_currentValidators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"10107:18:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":1029,"indexExpression":{"id":1028,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"10126:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10107:22:4","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$572_calldata_ptr","typeString":"struct Validator calldata"}},"id":1030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10130:5:4","memberName":"power","nodeType":"MemberAccess","referencedDeclaration":571,"src":"10107:28:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10087:48:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1032,"nodeType":"ExpressionStatement","src":"10087:48:4"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1033,"name":"_cumulativePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"10202:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1034,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"10222:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10202:35:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1038,"nodeType":"IfStatement","src":"10198:79:4","trueBody":{"id":1037,"nodeType":"Block","src":"10239:38:4","statements":[{"id":1036,"nodeType":"Break","src":"10257:5:4"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":980,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"9631:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":981,"name":"_currentValidators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"9636:18:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9655:6:4","memberName":"length","nodeType":"MemberAccess","src":"9636:25:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9631:30:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1040,"initializationExpression":{"assignments":[977],"declarations":[{"constant":false,"id":977,"mutability":"mutable","name":"_i","nameLocation":"9623:2:4","nodeType":"VariableDeclaration","scope":1040,"src":"9615:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":976,"name":"uint256","nodeType":"ElementaryTypeName","src":"9615:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":979,"initialValue":{"hexValue":"30","id":978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9628:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9615:14:4"},"loopExpression":{"expression":{"id":985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9663:4:4","subExpression":{"id":984,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"9663:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":986,"nodeType":"ExpressionStatement","src":"9663:4:4"},"nodeType":"ForStatement","src":"9610:677:4"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1041,"name":"_cumulativePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"10300:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1042,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"10319:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10300:34:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1048,"nodeType":"IfStatement","src":"10296:97:4","trueBody":{"id":1047,"nodeType":"Block","src":"10336:57:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1044,"name":"InsufficientVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":619,"src":"10357:23:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10357:25:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1046,"nodeType":"RevertStatement","src":"10350:32:4"}]}}]},"documentation":{"id":943,"nodeType":"StructuredDocumentation","src":"8761:406:4","text":"@dev Checks that enough voting power signed over a digest.\n It expects the signatures to be in the same order as the _currentValidators.\n @param _currentValidators The current validators.\n @param _sigs The current validators' signatures.\n @param _digest This is what we are checking they have signed.\n @param _powerThreshold At least this much power must have signed."},"id":1050,"implemented":true,"kind":"function","modifiers":[],"name":"_checkValidatorSignatures","nameLocation":"9181:25:4","nodeType":"FunctionDefinition","parameters":{"id":956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":947,"mutability":"mutable","name":"_currentValidators","nameLocation":"9291:18:4","nodeType":"VariableDeclaration","scope":1050,"src":"9270:39:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":945,"nodeType":"UserDefinedTypeName","pathNode":{"id":944,"name":"Validator","nameLocations":["9270:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":572,"src":"9270:9:4"},"referencedDeclaration":572,"src":"9270:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$572_storage_ptr","typeString":"struct Validator"}},"id":946,"nodeType":"ArrayTypeName","src":"9270:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$572_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":951,"mutability":"mutable","name":"_sigs","nameLocation":"9340:5:4","nodeType":"VariableDeclaration","scope":1050,"src":"9319:26:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":949,"nodeType":"UserDefinedTypeName","pathNode":{"id":948,"name":"Signature","nameLocations":["9319:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":567,"src":"9319:9:4"},"referencedDeclaration":567,"src":"9319:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$567_storage_ptr","typeString":"struct Signature"}},"id":950,"nodeType":"ArrayTypeName","src":"9319:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$567_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"},{"constant":false,"id":953,"mutability":"mutable","name":"_digest","nameLocation":"9363:7:4","nodeType":"VariableDeclaration","scope":1050,"src":"9355:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9355:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":955,"mutability":"mutable","name":"_powerThreshold","nameLocation":"9388:15:4","nodeType":"VariableDeclaration","scope":1050,"src":"9380:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":954,"name":"uint256","nodeType":"ElementaryTypeName","src":"9380:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9206:203:4"},"returnParameters":{"id":957,"nodeType":"ParameterList","parameters":[],"src":"9424:0:4"},"scope":1125,"src":"9172:1227:4","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1072,"nodeType":"Block","src":"10972:279:4","statements":[{"expression":{"arguments":[{"arguments":[{"id":1065,"name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176,"src":"11060:35:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1066,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1053,"src":"11117:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1067,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1055,"src":"11154:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1068,"name":"_validatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1057,"src":"11195:17:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1063,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11028:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11032:6:4","memberName":"encode","nodeType":"MemberAccess","src":"11028:10:4","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11028:202:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1062,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"11001:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11001:243:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1061,"id":1071,"nodeType":"Return","src":"10982:262:4"}]},"documentation":{"id":1051,"nodeType":"StructuredDocumentation","src":"10405:378:4","text":"@dev A hash of all relevant information about the validator set.\n @param _powerThreshold Amount of voting power needed to approve operations. (2/3 of total)\n @param _validatorTimestamp The timestamp of the block where validator set is updated.\n @param _validatorSetHash Validator set hash.\n @return The domain separated hash of the validator set."},"id":1073,"implemented":true,"kind":"function","modifiers":[],"name":"_domainSeparateValidatorSetHash","nameLocation":"10797:31:4","nodeType":"FunctionDefinition","parameters":{"id":1058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1053,"mutability":"mutable","name":"_powerThreshold","nameLocation":"10846:15:4","nodeType":"VariableDeclaration","scope":1073,"src":"10838:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1052,"name":"uint256","nodeType":"ElementaryTypeName","src":"10838:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1055,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"10879:19:4","nodeType":"VariableDeclaration","scope":1073,"src":"10871:27:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1054,"name":"uint256","nodeType":"ElementaryTypeName","src":"10871:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1057,"mutability":"mutable","name":"_validatorSetHash","nameLocation":"10916:17:4","nodeType":"VariableDeclaration","scope":1073,"src":"10908:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10908:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10828:111:4"},"returnParameters":{"id":1061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1060,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1073,"src":"10963:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10963:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10962:9:4"},"scope":1125,"src":"10788:463:4","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":1123,"nodeType":"Block","src":"11661:290:4","statements":[{"expression":{"id":1093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1086,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1078,"src":"11671:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":1090,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1078,"src":"11705:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1088,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11688:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11692:12:4","memberName":"encodePacked","nodeType":"MemberAccess","src":"11688:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11688:25:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1087,"name":"sha256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-22,"src":"11681:6:4","typeDescriptions":{"typeIdentifier":"t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11681:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11671:43:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1094,"nodeType":"ExpressionStatement","src":"11671:43:4"},{"assignments":[1096,1099,null],"declarations":[{"constant":false,"id":1096,"mutability":"mutable","name":"_recovered","nameLocation":"11733:10:4","nodeType":"VariableDeclaration","scope":1123,"src":"11725:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1095,"name":"address","nodeType":"ElementaryTypeName","src":"11725:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1099,"mutability":"mutable","name":"error","nameLocation":"11758:5:4","nodeType":"VariableDeclaration","scope":1123,"src":"11745:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":1098,"nodeType":"UserDefinedTypeName","pathNode":{"id":1097,"name":"RecoverError","nameLocations":["11745:12:4"],"nodeType":"IdentifierPath","referencedDeclaration":184,"src":"11745:12:4"},"referencedDeclaration":184,"src":"11745:12:4","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},null],"id":1109,"initialValue":{"arguments":[{"id":1101,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1078,"src":"11780:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1102,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"11789:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$567_calldata_ptr","typeString":"struct Signature calldata"}},"id":1103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11794:1:4","memberName":"v","nodeType":"MemberAccess","referencedDeclaration":562,"src":"11789:6:4","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"expression":{"id":1104,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"11797:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$567_calldata_ptr","typeString":"struct Signature calldata"}},"id":1105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11802:1:4","memberName":"r","nodeType":"MemberAccess","referencedDeclaration":564,"src":"11797:6:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1106,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"11805:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$567_calldata_ptr","typeString":"struct Signature calldata"}},"id":1107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11810:1:4","memberName":"s","nodeType":"MemberAccess","referencedDeclaration":566,"src":"11805:6:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1100,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[250,330,438],"referencedDeclaration":438,"src":"11769:10:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":1108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11769:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$184_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"11724:88:4"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1110,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1099,"src":"11826:5:4","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1111,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"11835:12:4","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$184_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":1112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11848:7:4","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":180,"src":"11835:20:4","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$184","typeString":"enum ECDSA.RecoverError"}},"src":"11826:29:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1118,"nodeType":"IfStatement","src":"11822:85:4","trueBody":{"id":1117,"nodeType":"Block","src":"11857:50:4","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1114,"name":"InvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":623,"src":"11878:16:4","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11878:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1116,"nodeType":"RevertStatement","src":"11871:25:4"}]}},{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1119,"name":"_signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1076,"src":"11923:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1120,"name":"_recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1096,"src":"11934:10:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11923:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1085,"id":1122,"nodeType":"Return","src":"11916:28:4"}]},"documentation":{"id":1074,"nodeType":"StructuredDocumentation","src":"11257:261:4","text":"@notice Utility function to verify Tellor Layer signatures\n @param _signer The address that signed the message.\n @param _digest The digest that was signed.\n @param _sig The signature.\n @return bool True if the signature is valid."},"id":1124,"implemented":true,"kind":"function","modifiers":[],"name":"_verifySig","nameLocation":"11532:10:4","nodeType":"FunctionDefinition","parameters":{"id":1082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1076,"mutability":"mutable","name":"_signer","nameLocation":"11560:7:4","nodeType":"VariableDeclaration","scope":1124,"src":"11552:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1075,"name":"address","nodeType":"ElementaryTypeName","src":"11552:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1078,"mutability":"mutable","name":"_digest","nameLocation":"11585:7:4","nodeType":"VariableDeclaration","scope":1124,"src":"11577:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11577:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1081,"mutability":"mutable","name":"_sig","nameLocation":"11621:4:4","nodeType":"VariableDeclaration","scope":1124,"src":"11602:23:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$567_calldata_ptr","typeString":"struct Signature"},"typeName":{"id":1080,"nodeType":"UserDefinedTypeName","pathNode":{"id":1079,"name":"Signature","nameLocations":["11602:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":567,"src":"11602:9:4"},"referencedDeclaration":567,"src":"11602:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$567_storage_ptr","typeString":"struct Signature"}},"visibility":"internal"}],"src":"11542:89:4"},"returnParameters":{"id":1085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1084,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1124,"src":"11655:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1083,"name":"bool","nodeType":"ElementaryTypeName","src":"11655:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11654:6:4"},"scope":1125,"src":"11523:428:4","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":1126,"src":"975:10978:4","usedErrors":[187,192,197,617,619,621,623,625,627,629,631,633,635,637]}],"src":"39:11916:4"},"id":4}},"contracts":{"contracts/YoloTellorUser.sol":{"YoloTellorUser":{"abi":[{"inputs":[{"internalType":"address","name":"_dataBridge","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"dataBridge","outputs":[{"internalType":"contract ITellorDataBridge","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentOracleData","outputs":[{"components":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct YoloTellorUser.OracleData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getValueCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"oracleData","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"updateOracleData","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_26":{"entryPoint":null,"id":26,"parameterSlots":1,"returnSlots":0},"abi_decode_t_address_fromMemory":{"entryPoint":198,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":219,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":157,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":125,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":120,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_address":{"entryPoint":175,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1199:5","statements":[{"body":{"nodeType":"YulBlock","src":"47:35:5","statements":[{"nodeType":"YulAssignment","src":"57:19:5","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"73:2:5","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"67:5:5"},"nodeType":"YulFunctionCall","src":"67:9:5"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"57:6:5"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"40:6:5","type":""}],"src":"7:75:5"},{"body":{"nodeType":"YulBlock","src":"177:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"194:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"197:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"187:6:5"},"nodeType":"YulFunctionCall","src":"187:12:5"},"nodeType":"YulExpressionStatement","src":"187:12:5"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"88:117:5"},{"body":{"nodeType":"YulBlock","src":"300:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:5"},"nodeType":"YulFunctionCall","src":"310:12:5"},"nodeType":"YulExpressionStatement","src":"310:12:5"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"211:117:5"},{"body":{"nodeType":"YulBlock","src":"379:81:5","statements":[{"nodeType":"YulAssignment","src":"389:65:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"404:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"411:42:5","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"400:3:5"},"nodeType":"YulFunctionCall","src":"400:54:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"389:7:5"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"361:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"371:7:5","type":""}],"src":"334:126:5"},{"body":{"nodeType":"YulBlock","src":"511:51:5","statements":[{"nodeType":"YulAssignment","src":"521:35:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"550:5:5"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"532:17:5"},"nodeType":"YulFunctionCall","src":"532:24:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"521:7:5"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"493:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"503:7:5","type":""}],"src":"466:96:5"},{"body":{"nodeType":"YulBlock","src":"611:79:5","statements":[{"body":{"nodeType":"YulBlock","src":"668:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"677:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"680:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"670:6:5"},"nodeType":"YulFunctionCall","src":"670:12:5"},"nodeType":"YulExpressionStatement","src":"670:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"634:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"659:5:5"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"641:17:5"},"nodeType":"YulFunctionCall","src":"641:24:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"631:2:5"},"nodeType":"YulFunctionCall","src":"631:35:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"624:6:5"},"nodeType":"YulFunctionCall","src":"624:43:5"},"nodeType":"YulIf","src":"621:63:5"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"604:5:5","type":""}],"src":"568:122:5"},{"body":{"nodeType":"YulBlock","src":"759:80:5","statements":[{"nodeType":"YulAssignment","src":"769:22:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"784:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"778:5:5"},"nodeType":"YulFunctionCall","src":"778:13:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"769:5:5"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"827:5:5"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"800:26:5"},"nodeType":"YulFunctionCall","src":"800:33:5"},"nodeType":"YulExpressionStatement","src":"800:33:5"}]},"name":"abi_decode_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"737:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"745:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"753:5:5","type":""}],"src":"696:143:5"},{"body":{"nodeType":"YulBlock","src":"922:274:5","statements":[{"body":{"nodeType":"YulBlock","src":"968:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"970:77:5"},"nodeType":"YulFunctionCall","src":"970:79:5"},"nodeType":"YulExpressionStatement","src":"970:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"943:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"952:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"939:3:5"},"nodeType":"YulFunctionCall","src":"939:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"964:2:5","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"935:3:5"},"nodeType":"YulFunctionCall","src":"935:32:5"},"nodeType":"YulIf","src":"932:119:5"},{"nodeType":"YulBlock","src":"1061:128:5","statements":[{"nodeType":"YulVariableDeclaration","src":"1076:15:5","value":{"kind":"number","nodeType":"YulLiteral","src":"1090:1:5","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1080:6:5","type":""}]},{"nodeType":"YulAssignment","src":"1105:74:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1151:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"1162:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1147:3:5"},"nodeType":"YulFunctionCall","src":"1147:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1171:7:5"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"1115:31:5"},"nodeType":"YulFunctionCall","src":"1115:64:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1105:6:5"}]}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"892:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"903:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"915:6:5","type":""}],"src":"845:351:5"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n","id":5,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"608060405234801561001057600080fd5b50604051610e57380380610e57833981810160405281019061003291906100db565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610108565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100a88261007d565b9050919050565b6100b88161009d565b81146100c357600080fd5b50565b6000815190506100d5816100af565b92915050565b6000602082840312156100f1576100f0610078565b5b60006100ff848285016100c6565b91505092915050565b610d40806101176000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063413a89b41461005c578063578855b21461007a5780636180801014610098578063aa4dea00146100b4578063bffe07bf146100e5575b600080fd5b610064610103565b604051610071919061032a565b60405180910390f35b610082610110565b60405161008f91906103c4565b60405180910390f35b6100b260048036038101906100ad91906104c8565b610134565b005b6100ce60048036038101906100c991906105a5565b610266565b6040516100dc9291906105d2565b60405180910390f35b6100ed61029a565b6040516100fa9190610639565b60405180910390f35b6000600180549050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635e0d3b0f86868686866040518663ffffffff1660e01b8152600401610195959493929190610b8e565b60006040518083038186803b1580156101ad57600080fd5b505afa1580156101c1573d6000803e3d6000fd5b5050505060008580602001906101d79190610bed565b80600001906101e69190610c15565b8101906101f391906105a5565b9050600160405180604001604052808381526020018880602001906102189190610bed565b60200135815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050505050505050565b6001818154811061027657600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b6102a26102f7565b60018080805490506102b49190610ca7565b815481106102c5576102c4610cdb565b5b906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050905090565b604051806040016040528060008152602001600081525090565b6000819050919050565b61032481610311565b82525050565b600060208201905061033f600083018461031b565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061038a61038561038084610345565b610365565b610345565b9050919050565b600061039c8261036f565b9050919050565b60006103ae82610391565b9050919050565b6103be816103a3565b82525050565b60006020820190506103d960008301846103b5565b92915050565b600080fd5b600080fd5b600080fd5b600060608284031215610404576104036103e9565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126104325761043161040d565b5b8235905067ffffffffffffffff81111561044f5761044e610412565b5b60208301915083604082028301111561046b5761046a610417565b5b9250929050565b60008083601f8401126104885761048761040d565b5b8235905067ffffffffffffffff8111156104a5576104a4610412565b5b6020830191508360608202830111156104c1576104c0610417565b5b9250929050565b6000806000806000606086880312156104e4576104e36103df565b5b600086013567ffffffffffffffff811115610502576105016103e4565b5b61050e888289016103ee565b955050602086013567ffffffffffffffff81111561052f5761052e6103e4565b5b61053b8882890161041c565b9450945050604086013567ffffffffffffffff81111561055e5761055d6103e4565b5b61056a88828901610472565b92509250509295509295909350565b61058281610311565b811461058d57600080fd5b50565b60008135905061059f81610579565b92915050565b6000602082840312156105bb576105ba6103df565b5b60006105c984828501610590565b91505092915050565b60006040820190506105e7600083018561031b565b6105f4602083018461031b565b9392505050565b61060481610311565b82525050565b60408201600082015161062060008501826105fb565b50602082015161063360208501826105fb565b50505050565b600060408201905061064e600083018461060a565b92915050565b6000819050919050565b61066781610654565b811461067257600080fd5b50565b6000813590506106848161065e565b92915050565b60006106996020840184610675565b905092915050565b6106aa81610654565b82525050565b600080fd5b60008235600160c0038336030381126106d1576106d06106b0565b5b82810191505092915050565b600080fd5b600080fd5b60008083356001602003843603038112610704576107036106b0565b5b83810192508235915060208301925067ffffffffffffffff82111561072c5761072b6106dd565b5b600182023603831315610742576107416106e2565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000610787838561074a565b935061079483858461075b565b61079d8361076a565b840190509392505050565b60006107b76020840184610590565b905092915050565b600060c083016107d260008401846106e7565b85830360008701526107e583828461077b565b925050506107f660208401846107a8565b61080360208601826105fb565b5061081160408401846107a8565b61081e60408601826105fb565b5061082c60608401846107a8565b61083960608601826105fb565b5061084760808401846107a8565b61085460808601826105fb565b5061086260a08401846107a8565b61086f60a08601826105fb565b508091505092915050565b60006060830161088d600084018461068a565b61089a60008601826106a1565b506108a860208401846106b5565b84820360208601526108ba82826107bf565b9150506108ca60408401846107a8565b6108d760408601826105fb565b508091505092915050565b600082825260208201905092915050565b6000819050919050565b600061090882610345565b9050919050565b610918816108fd565b811461092357600080fd5b50565b6000813590506109358161090f565b92915050565b600061094a6020840184610926565b905092915050565b61095b816108fd565b82525050565b60408201610972600083018361093b565b61097f6000850182610952565b5061098d60208301836107a8565b61099a60208501826105fb565b50505050565b60006109ac8383610961565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006109dc83856108e2565b93506109e7826108f3565b8060005b85811015610a20576109fd82846109b8565b610a0788826109a0565b9750610a12836109c3565b9250506001810190506109eb565b5085925050509392505050565b600082825260208201905092915050565b6000819050919050565b600060ff82169050919050565b610a5e81610a48565b8114610a6957600080fd5b50565b600081359050610a7b81610a55565b92915050565b6000610a906020840184610a6c565b905092915050565b610aa181610a48565b82525050565b60608201610ab86000830183610a81565b610ac56000850182610a98565b50610ad3602083018361068a565b610ae060208501826106a1565b50610aee604083018361068a565b610afb60408501826106a1565b50505050565b6000610b0d8383610aa7565b60608301905092915050565b600082905092915050565b6000606082019050919050565b6000610b3d8385610a2d565b9350610b4882610a3e565b8060005b85811015610b8157610b5e8284610b19565b610b688882610b01565b9750610b7383610b24565b925050600181019050610b4c565b5085925050509392505050565b60006060820190508181036000830152610ba8818861087a565b90508181036020830152610bbd8186886109d0565b90508181036040830152610bd2818486610b31565b90509695505050505050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112610c0957610c08610bde565b5b80830191505092915050565b60008083356001602003843603038112610c3257610c31610bde565b5b80840192508235915067ffffffffffffffff821115610c5457610c53610be3565b5b602083019250600182023603831315610c7057610c6f610be8565b5b509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610cb282610311565b9150610cbd83610311565b9250828203905081811115610cd557610cd4610c78565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220174690d1e38629ed07a1b806259cb4e0a0ec3625491143806f80de1564fa8e6464736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0xE57 CODESIZE SUB DUP1 PUSH2 0xE57 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0xDB JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP PUSH2 0x108 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA8 DUP3 PUSH2 0x7D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB8 DUP2 PUSH2 0x9D JUMP JUMPDEST DUP2 EQ PUSH2 0xC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xD5 DUP2 PUSH2 0xAF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF1 JUMPI PUSH2 0xF0 PUSH2 0x78 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFF DUP5 DUP3 DUP6 ADD PUSH2 0xC6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xD40 DUP1 PUSH2 0x117 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 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x413A89B4 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x578855B2 EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x61808010 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0xAA4DEA00 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xBFFE07BF EQ PUSH2 0xE5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x103 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x32A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH2 0x110 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x3C4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x134 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC9 SWAP2 SWAP1 PUSH2 0x5A5 JUMP JUMPDEST PUSH2 0x266 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDC SWAP3 SWAP2 SWAP1 PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xED PUSH2 0x29A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFA SWAP2 SWAP1 PUSH2 0x639 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5E0D3B0F DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x195 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB8E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1C1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x0 DUP6 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1D7 SWAP2 SWAP1 PUSH2 0xBED JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x1E6 SWAP2 SWAP1 PUSH2 0xC15 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0x5A5 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP9 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x218 SWAP2 SWAP1 PUSH2 0xBED JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH2 0x2A2 PUSH2 0x2F7 JUMP JUMPDEST PUSH1 0x1 DUP1 DUP1 DUP1 SLOAD SWAP1 POP PUSH2 0x2B4 SWAP2 SWAP1 PUSH2 0xCA7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2C5 JUMPI PUSH2 0x2C4 PUSH2 0xCDB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x324 DUP2 PUSH2 0x311 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x33F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x31B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38A PUSH2 0x385 PUSH2 0x380 DUP5 PUSH2 0x345 JUMP JUMPDEST PUSH2 0x365 JUMP JUMPDEST PUSH2 0x345 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39C DUP3 PUSH2 0x36F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3AE DUP3 PUSH2 0x391 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3BE DUP2 PUSH2 0x3A3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3D9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3B5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x404 JUMPI PUSH2 0x403 PUSH2 0x3E9 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x432 JUMPI PUSH2 0x431 PUSH2 0x40D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x44F JUMPI PUSH2 0x44E PUSH2 0x412 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x46B JUMPI PUSH2 0x46A PUSH2 0x417 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x488 JUMPI PUSH2 0x487 PUSH2 0x40D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4A5 JUMPI PUSH2 0x4A4 PUSH2 0x412 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x4C1 JUMPI PUSH2 0x4C0 PUSH2 0x417 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4E4 JUMPI PUSH2 0x4E3 PUSH2 0x3DF JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x502 JUMPI PUSH2 0x501 PUSH2 0x3E4 JUMP JUMPDEST JUMPDEST PUSH2 0x50E DUP9 DUP3 DUP10 ADD PUSH2 0x3EE JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x52F JUMPI PUSH2 0x52E PUSH2 0x3E4 JUMP JUMPDEST JUMPDEST PUSH2 0x53B DUP9 DUP3 DUP10 ADD PUSH2 0x41C JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x55E JUMPI PUSH2 0x55D PUSH2 0x3E4 JUMP JUMPDEST JUMPDEST PUSH2 0x56A DUP9 DUP3 DUP10 ADD PUSH2 0x472 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x582 DUP2 PUSH2 0x311 JUMP JUMPDEST DUP2 EQ PUSH2 0x58D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x59F DUP2 PUSH2 0x579 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5BB JUMPI PUSH2 0x5BA PUSH2 0x3DF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5C9 DUP5 DUP3 DUP6 ADD PUSH2 0x590 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x5E7 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x31B JUMP JUMPDEST PUSH2 0x5F4 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x31B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x604 DUP2 PUSH2 0x311 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x620 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x633 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x64E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x60A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x667 DUP2 PUSH2 0x654 JUMP JUMPDEST DUP2 EQ PUSH2 0x672 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x684 DUP2 PUSH2 0x65E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x699 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x675 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x6AA DUP2 PUSH2 0x654 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x6D1 JUMPI PUSH2 0x6D0 PUSH2 0x6B0 JUMP JUMPDEST JUMPDEST DUP3 DUP2 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x704 JUMPI PUSH2 0x703 PUSH2 0x6B0 JUMP JUMPDEST JUMPDEST DUP4 DUP2 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x72C JUMPI PUSH2 0x72B PUSH2 0x6DD JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x742 JUMPI PUSH2 0x741 PUSH2 0x6E2 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x787 DUP4 DUP6 PUSH2 0x74A JUMP JUMPDEST SWAP4 POP PUSH2 0x794 DUP4 DUP6 DUP5 PUSH2 0x75B JUMP JUMPDEST PUSH2 0x79D DUP4 PUSH2 0x76A JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7B7 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x590 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH2 0x7D2 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x6E7 JUMP JUMPDEST DUP6 DUP4 SUB PUSH1 0x0 DUP8 ADD MSTORE PUSH2 0x7E5 DUP4 DUP3 DUP5 PUSH2 0x77B JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x7F6 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x803 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x811 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x81E PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x82C PUSH1 0x60 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x839 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x847 PUSH1 0x80 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x854 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x862 PUSH1 0xA0 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x86F PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH2 0x88D PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x68A JUMP JUMPDEST PUSH2 0x89A PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x6A1 JUMP JUMPDEST POP PUSH2 0x8A8 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x6B5 JUMP JUMPDEST DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x8BA DUP3 DUP3 PUSH2 0x7BF JUMP JUMPDEST SWAP2 POP POP PUSH2 0x8CA PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x8D7 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x908 DUP3 PUSH2 0x345 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x918 DUP2 PUSH2 0x8FD JUMP JUMPDEST DUP2 EQ PUSH2 0x923 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x935 DUP2 PUSH2 0x90F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x94A PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x926 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x95B DUP2 PUSH2 0x8FD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0x972 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x93B JUMP JUMPDEST PUSH2 0x97F PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x952 JUMP JUMPDEST POP PUSH2 0x98D PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x99A PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9AC DUP4 DUP4 PUSH2 0x961 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9DC DUP4 DUP6 PUSH2 0x8E2 JUMP JUMPDEST SWAP4 POP PUSH2 0x9E7 DUP3 PUSH2 0x8F3 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xA20 JUMPI PUSH2 0x9FD DUP3 DUP5 PUSH2 0x9B8 JUMP JUMPDEST PUSH2 0xA07 DUP9 DUP3 PUSH2 0x9A0 JUMP JUMPDEST SWAP8 POP PUSH2 0xA12 DUP4 PUSH2 0x9C3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x9EB JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA5E DUP2 PUSH2 0xA48 JUMP JUMPDEST DUP2 EQ PUSH2 0xA69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA7B DUP2 PUSH2 0xA55 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA90 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xA6C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAA1 DUP2 PUSH2 0xA48 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 ADD PUSH2 0xAB8 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0xA81 JUMP JUMPDEST PUSH2 0xAC5 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0xA98 JUMP JUMPDEST POP PUSH2 0xAD3 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x68A JUMP JUMPDEST PUSH2 0xAE0 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x6A1 JUMP JUMPDEST POP PUSH2 0xAEE PUSH1 0x40 DUP4 ADD DUP4 PUSH2 0x68A JUMP JUMPDEST PUSH2 0xAFB PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x6A1 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0D DUP4 DUP4 PUSH2 0xAA7 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB3D DUP4 DUP6 PUSH2 0xA2D JUMP JUMPDEST SWAP4 POP PUSH2 0xB48 DUP3 PUSH2 0xA3E JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xB81 JUMPI PUSH2 0xB5E DUP3 DUP5 PUSH2 0xB19 JUMP JUMPDEST PUSH2 0xB68 DUP9 DUP3 PUSH2 0xB01 JUMP JUMPDEST SWAP8 POP PUSH2 0xB73 DUP4 PUSH2 0xB24 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xB4C JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xBA8 DUP2 DUP9 PUSH2 0x87A JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xBBD DUP2 DUP7 DUP9 PUSH2 0x9D0 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xBD2 DUP2 DUP5 DUP7 PUSH2 0xB31 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xC09 JUMPI PUSH2 0xC08 PUSH2 0xBDE JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xC32 JUMPI PUSH2 0xC31 PUSH2 0xBDE JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xC54 JUMPI PUSH2 0xC53 PUSH2 0xBE3 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xC70 JUMPI PUSH2 0xC6F PUSH2 0xBE8 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xCB2 DUP3 PUSH2 0x311 JUMP JUMPDEST SWAP2 POP PUSH2 0xCBD DUP4 PUSH2 0x311 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xCD5 JUMPI PUSH2 0xCD4 PUSH2 0xC78 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR CHAINID SWAP1 0xD1 0xE3 DUP7 0x29 0xED SMOD LOG1 0xB8 MOD 0x25 SWAP13 0xB4 0xE0 LOG0 0xEC CALLDATASIZE 0x25 0x49 GT NUMBER DUP1 PUSH16 0x80DE1564FA8E6464736F6C6343000813 STOP CALLER ","sourceMap":"103:1029:0:-:0;;;340:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;414:11;383:10;;:43;;;;;;;;;;;;;;;;;;340:93;103:1029;;88:117:5;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:351::-;915:6;964:2;952:9;943:7;939:23;935:32;932:119;;;970:79;;:::i;:::-;932:119;1090:1;1115:64;1171:7;1162:6;1151:9;1147:22;1115:64;:::i;:::-;1105:74;;1061:128;845:351;;;;:::o;103:1029:0:-;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@dataBridge_5":{"entryPoint":272,"id":5,"parameterSlots":0,"returnSlots":0},"@getCurrentOracleData_86":{"entryPoint":666,"id":86,"parameterSlots":0,"returnSlots":1},"@getValueCount_95":{"entryPoint":259,"id":95,"parameterSlots":0,"returnSlots":1},"@oracleData_9":{"entryPoint":614,"id":9,"parameterSlots":0,"returnSlots":0},"@updateOracleData_72":{"entryPoint":308,"id":72,"parameterSlots":5,"returnSlots":0},"abi_decode_t_address":{"entryPoint":2342,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":1138,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":1052,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes32":{"entryPoint":1653,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_OracleAttestationData_$106_calldata_ptr":{"entryPoint":1006,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":1424,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8":{"entryPoint":2668,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_OracleAttestationData_$106_calldata_ptrt_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":1224,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256":{"entryPoint":1445,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr":{"entryPoint":2817,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr":{"entryPoint":2464,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address":{"entryPoint":2386,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2865,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2512,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bytes32_to_t_bytes32":{"entryPoint":1697,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr":{"entryPoint":1915,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_contract$_ITellorDataBridge_$166_to_t_address_fromStack":{"entryPoint":949,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_struct$_OracleAttestationData_$106_calldata_ptr_to_t_struct$_OracleAttestationData_$106_memory_ptr_fromStack":{"entryPoint":2170,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_OracleData_$14_memory_ptr_to_t_struct$_OracleData_$14_memory_ptr_fromStack":{"entryPoint":1546,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_struct$_ReportData_$119_calldata_ptr_to_t_struct$_ReportData_$119_memory_ptr":{"entryPoint":1983,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr":{"entryPoint":2727,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr":{"entryPoint":2401,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":1531,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":795,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8":{"entryPoint":2712,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_contract$_ITellorDataBridge_$166__to_t_address__fromStack_reversed":{"entryPoint":964,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_OracleAttestationData_$106_calldata_ptr_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr__to_t_struct$_OracleAttestationData_$106_memory_ptr_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":2958,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_struct$_OracleData_$14_memory_ptr__to_t_struct$_OracleData_$14_memory_ptr__fromStack_reversed":{"entryPoint":1593,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":810,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":1490,"id":null,"parameterSlots":3,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":3093,"id":null,"parameterSlots":2,"returnSlots":2},"access_calldata_tail_t_struct$_ReportData_$119_calldata_ptr":{"entryPoint":3053,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2622,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2291,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2852,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2499,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2605,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2274,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr":{"entryPoint":1866,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_address":{"entryPoint":2363,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_bytes32":{"entryPoint":1674,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_bytes_calldata_ptr":{"entryPoint":1767,"id":null,"parameterSlots":2,"returnSlots":2},"calldata_access_t_struct$_ReportData_$119_calldata_ptr":{"entryPoint":1717,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_struct$_Signature_$126_calldata_ptr":{"entryPoint":2841,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_struct$_Validator_$131_calldata_ptr":{"entryPoint":2488,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint256":{"entryPoint":1960,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint8":{"entryPoint":2689,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":3239,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":2301,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":1620,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":837,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":785,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":2632,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_ITellorDataBridge_$166_to_t_address":{"entryPoint":931,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address":{"entryPoint":913,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_uint160":{"entryPoint":879,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":1883,"id":null,"parameterSlots":3,"returnSlots":0},"identity":{"entryPoint":869,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":3192,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":3291,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2":{"entryPoint":1757,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":1042,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":1037,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a":{"entryPoint":3043,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d":{"entryPoint":1001,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad":{"entryPoint":3038,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20":{"entryPoint":1762,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":1047,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e":{"entryPoint":3048,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":996,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4":{"entryPoint":1712,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":991,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":1898,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_address":{"entryPoint":2319,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":1630,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":1401,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":2645,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:22580:5","statements":[{"body":{"nodeType":"YulBlock","src":"52:32:5","statements":[{"nodeType":"YulAssignment","src":"62:16:5","value":{"name":"value","nodeType":"YulIdentifier","src":"73:5:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"62:7:5"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"34:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"44:7:5","type":""}],"src":"7:77:5"},{"body":{"nodeType":"YulBlock","src":"155:53:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"172:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"195:5:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"177:17:5"},"nodeType":"YulFunctionCall","src":"177:24:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"165:6:5"},"nodeType":"YulFunctionCall","src":"165:37:5"},"nodeType":"YulExpressionStatement","src":"165:37:5"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"143:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"150:3:5","type":""}],"src":"90:118:5"},{"body":{"nodeType":"YulBlock","src":"312:124:5","statements":[{"nodeType":"YulAssignment","src":"322:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"334:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"345:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"330:3:5"},"nodeType":"YulFunctionCall","src":"330:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"322:4:5"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"402:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"415:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"426:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"411:3:5"},"nodeType":"YulFunctionCall","src":"411:17:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"358:43:5"},"nodeType":"YulFunctionCall","src":"358:71:5"},"nodeType":"YulExpressionStatement","src":"358:71:5"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"284:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"296:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"307:4:5","type":""}],"src":"214:222:5"},{"body":{"nodeType":"YulBlock","src":"487:81:5","statements":[{"nodeType":"YulAssignment","src":"497:65:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"512:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"519:42:5","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"508:3:5"},"nodeType":"YulFunctionCall","src":"508:54:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"497:7:5"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"469:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"479:7:5","type":""}],"src":"442:126:5"},{"body":{"nodeType":"YulBlock","src":"606:28:5","statements":[{"nodeType":"YulAssignment","src":"616:12:5","value":{"name":"value","nodeType":"YulIdentifier","src":"623:5:5"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"616:3:5"}]}]},"name":"identity","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"592:5:5","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"602:3:5","type":""}],"src":"574:60:5"},{"body":{"nodeType":"YulBlock","src":"700:82:5","statements":[{"nodeType":"YulAssignment","src":"710:66:5","value":{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"768:5:5"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"750:17:5"},"nodeType":"YulFunctionCall","src":"750:24:5"}],"functionName":{"name":"identity","nodeType":"YulIdentifier","src":"741:8:5"},"nodeType":"YulFunctionCall","src":"741:34:5"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"723:17:5"},"nodeType":"YulFunctionCall","src":"723:53:5"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"710:9:5"}]}]},"name":"convert_t_uint160_to_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"680:5:5","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"690:9:5","type":""}],"src":"640:142:5"},{"body":{"nodeType":"YulBlock","src":"848:66:5","statements":[{"nodeType":"YulAssignment","src":"858:50:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"902:5:5"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"871:30:5"},"nodeType":"YulFunctionCall","src":"871:37:5"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"858:9:5"}]}]},"name":"convert_t_uint160_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"828:5:5","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"838:9:5","type":""}],"src":"788:126:5"},{"body":{"nodeType":"YulBlock","src":"1005:66:5","statements":[{"nodeType":"YulAssignment","src":"1015:50:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1059:5:5"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"1028:30:5"},"nodeType":"YulFunctionCall","src":"1028:37:5"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"1015:9:5"}]}]},"name":"convert_t_contract$_ITellorDataBridge_$166_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"985:5:5","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"995:9:5","type":""}],"src":"920:151:5"},{"body":{"nodeType":"YulBlock","src":"1167:91:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1184:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1245:5:5"}],"functionName":{"name":"convert_t_contract$_ITellorDataBridge_$166_to_t_address","nodeType":"YulIdentifier","src":"1189:55:5"},"nodeType":"YulFunctionCall","src":"1189:62:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1177:6:5"},"nodeType":"YulFunctionCall","src":"1177:75:5"},"nodeType":"YulExpressionStatement","src":"1177:75:5"}]},"name":"abi_encode_t_contract$_ITellorDataBridge_$166_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1155:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1162:3:5","type":""}],"src":"1077:181:5"},{"body":{"nodeType":"YulBlock","src":"1387:149:5","statements":[{"nodeType":"YulAssignment","src":"1397:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1409:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1420:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1405:3:5"},"nodeType":"YulFunctionCall","src":"1405:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1397:4:5"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1502:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1515:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1526:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1511:3:5"},"nodeType":"YulFunctionCall","src":"1511:17:5"}],"functionName":{"name":"abi_encode_t_contract$_ITellorDataBridge_$166_to_t_address_fromStack","nodeType":"YulIdentifier","src":"1433:68:5"},"nodeType":"YulFunctionCall","src":"1433:96:5"},"nodeType":"YulExpressionStatement","src":"1433:96:5"}]},"name":"abi_encode_tuple_t_contract$_ITellorDataBridge_$166__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1359:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1371:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1382:4:5","type":""}],"src":"1264:272:5"},{"body":{"nodeType":"YulBlock","src":"1582:35:5","statements":[{"nodeType":"YulAssignment","src":"1592:19:5","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1608:2:5","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1602:5:5"},"nodeType":"YulFunctionCall","src":"1602:9:5"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1592:6:5"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1575:6:5","type":""}],"src":"1542:75:5"},{"body":{"nodeType":"YulBlock","src":"1712:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1729:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1732:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1722:6:5"},"nodeType":"YulFunctionCall","src":"1722:12:5"},"nodeType":"YulExpressionStatement","src":"1722:12:5"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"1623:117:5"},{"body":{"nodeType":"YulBlock","src":"1835:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1852:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1855:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1845:6:5"},"nodeType":"YulFunctionCall","src":"1845:12:5"},"nodeType":"YulExpressionStatement","src":"1845:12:5"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"1746:117:5"},{"body":{"nodeType":"YulBlock","src":"1958:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1975:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1978:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1968:6:5"},"nodeType":"YulFunctionCall","src":"1968:12:5"},"nodeType":"YulExpressionStatement","src":"1968:12:5"}]},"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulFunctionDefinition","src":"1869:117:5"},{"body":{"nodeType":"YulBlock","src":"2120:152:5","statements":[{"body":{"nodeType":"YulBlock","src":"2159:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulIdentifier","src":"2161:77:5"},"nodeType":"YulFunctionCall","src":"2161:79:5"},"nodeType":"YulExpressionStatement","src":"2161:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"2141:3:5"},{"name":"offset","nodeType":"YulIdentifier","src":"2146:6:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2137:3:5"},"nodeType":"YulFunctionCall","src":"2137:16:5"},{"kind":"number","nodeType":"YulLiteral","src":"2155:2:5","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2133:3:5"},"nodeType":"YulFunctionCall","src":"2133:25:5"},"nodeType":"YulIf","src":"2130:112:5"},{"nodeType":"YulAssignment","src":"2251:15:5","value":{"name":"offset","nodeType":"YulIdentifier","src":"2260:6:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2251:5:5"}]}]},"name":"abi_decode_t_struct$_OracleAttestationData_$106_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2098:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"2106:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2114:5:5","type":""}],"src":"2028:244:5"},{"body":{"nodeType":"YulBlock","src":"2367:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2384:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2387:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2377:6:5"},"nodeType":"YulFunctionCall","src":"2377:12:5"},"nodeType":"YulExpressionStatement","src":"2377:12:5"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"2278:117:5"},{"body":{"nodeType":"YulBlock","src":"2490:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2507:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2510:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2500:6:5"},"nodeType":"YulFunctionCall","src":"2500:12:5"},"nodeType":"YulExpressionStatement","src":"2500:12:5"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"2401:117:5"},{"body":{"nodeType":"YulBlock","src":"2613:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2630:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2633:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2623:6:5"},"nodeType":"YulFunctionCall","src":"2623:12:5"},"nodeType":"YulExpressionStatement","src":"2623:12:5"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"2524:117:5"},{"body":{"nodeType":"YulBlock","src":"2791:478:5","statements":[{"body":{"nodeType":"YulBlock","src":"2840:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"2842:77:5"},"nodeType":"YulFunctionCall","src":"2842:79:5"},"nodeType":"YulExpressionStatement","src":"2842:79:5"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2819:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"2827:4:5","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2815:3:5"},"nodeType":"YulFunctionCall","src":"2815:17:5"},{"name":"end","nodeType":"YulIdentifier","src":"2834:3:5"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2811:3:5"},"nodeType":"YulFunctionCall","src":"2811:27:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2804:6:5"},"nodeType":"YulFunctionCall","src":"2804:35:5"},"nodeType":"YulIf","src":"2801:122:5"},{"nodeType":"YulAssignment","src":"2932:30:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2955:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2942:12:5"},"nodeType":"YulFunctionCall","src":"2942:20:5"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2932:6:5"}]},{"body":{"nodeType":"YulBlock","src":"3005:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"3007:77:5"},"nodeType":"YulFunctionCall","src":"3007:79:5"},"nodeType":"YulExpressionStatement","src":"3007:79:5"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2977:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"2985:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2974:2:5"},"nodeType":"YulFunctionCall","src":"2974:30:5"},"nodeType":"YulIf","src":"2971:117:5"},{"nodeType":"YulAssignment","src":"3097:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3113:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"3121:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3109:3:5"},"nodeType":"YulFunctionCall","src":"3109:17:5"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"3097:8:5"}]},{"body":{"nodeType":"YulBlock","src":"3180:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"3182:77:5"},"nodeType":"YulFunctionCall","src":"3182:79:5"},"nodeType":"YulExpressionStatement","src":"3182:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"3145:8:5"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3159:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"3167:4:5","type":"","value":"0x40"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3155:3:5"},"nodeType":"YulFunctionCall","src":"3155:17:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3141:3:5"},"nodeType":"YulFunctionCall","src":"3141:32:5"},{"name":"end","nodeType":"YulIdentifier","src":"3175:3:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3138:2:5"},"nodeType":"YulFunctionCall","src":"3138:41:5"},"nodeType":"YulIf","src":"3135:128:5"}]},"name":"abi_decode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2758:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"2766:3:5","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"2774:8:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"2784:6:5","type":""}],"src":"2673:596:5"},{"body":{"nodeType":"YulBlock","src":"3419:478:5","statements":[{"body":{"nodeType":"YulBlock","src":"3468:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"3470:77:5"},"nodeType":"YulFunctionCall","src":"3470:79:5"},"nodeType":"YulExpressionStatement","src":"3470:79:5"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3447:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"3455:4:5","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3443:3:5"},"nodeType":"YulFunctionCall","src":"3443:17:5"},{"name":"end","nodeType":"YulIdentifier","src":"3462:3:5"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3439:3:5"},"nodeType":"YulFunctionCall","src":"3439:27:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3432:6:5"},"nodeType":"YulFunctionCall","src":"3432:35:5"},"nodeType":"YulIf","src":"3429:122:5"},{"nodeType":"YulAssignment","src":"3560:30:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3583:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3570:12:5"},"nodeType":"YulFunctionCall","src":"3570:20:5"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"3560:6:5"}]},{"body":{"nodeType":"YulBlock","src":"3633:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"3635:77:5"},"nodeType":"YulFunctionCall","src":"3635:79:5"},"nodeType":"YulExpressionStatement","src":"3635:79:5"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3605:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"3613:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3602:2:5"},"nodeType":"YulFunctionCall","src":"3602:30:5"},"nodeType":"YulIf","src":"3599:117:5"},{"nodeType":"YulAssignment","src":"3725:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3741:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"3749:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3737:3:5"},"nodeType":"YulFunctionCall","src":"3737:17:5"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"3725:8:5"}]},{"body":{"nodeType":"YulBlock","src":"3808:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"3810:77:5"},"nodeType":"YulFunctionCall","src":"3810:79:5"},"nodeType":"YulExpressionStatement","src":"3810:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"3773:8:5"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3787:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"3795:4:5","type":"","value":"0x60"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3783:3:5"},"nodeType":"YulFunctionCall","src":"3783:17:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3769:3:5"},"nodeType":"YulFunctionCall","src":"3769:32:5"},{"name":"end","nodeType":"YulIdentifier","src":"3803:3:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3766:2:5"},"nodeType":"YulFunctionCall","src":"3766:41:5"},"nodeType":"YulIf","src":"3763:128:5"}]},"name":"abi_decode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3386:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"3394:3:5","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"3402:8:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"3412:6:5","type":""}],"src":"3301:596:5"},{"body":{"nodeType":"YulBlock","src":"4169:1165:5","statements":[{"body":{"nodeType":"YulBlock","src":"4215:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"4217:77:5"},"nodeType":"YulFunctionCall","src":"4217:79:5"},"nodeType":"YulExpressionStatement","src":"4217:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4190:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"4199:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4186:3:5"},"nodeType":"YulFunctionCall","src":"4186:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"4211:2:5","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4182:3:5"},"nodeType":"YulFunctionCall","src":"4182:32:5"},"nodeType":"YulIf","src":"4179:119:5"},{"nodeType":"YulBlock","src":"4308:317:5","statements":[{"nodeType":"YulVariableDeclaration","src":"4323:45:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4354:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"4365:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4350:3:5"},"nodeType":"YulFunctionCall","src":"4350:17:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4337:12:5"},"nodeType":"YulFunctionCall","src":"4337:31:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4327:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"4415:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"4417:77:5"},"nodeType":"YulFunctionCall","src":"4417:79:5"},"nodeType":"YulExpressionStatement","src":"4417:79:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4387:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"4395:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4384:2:5"},"nodeType":"YulFunctionCall","src":"4384:30:5"},"nodeType":"YulIf","src":"4381:117:5"},{"nodeType":"YulAssignment","src":"4512:103:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4587:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"4598:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4583:3:5"},"nodeType":"YulFunctionCall","src":"4583:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4607:7:5"}],"functionName":{"name":"abi_decode_t_struct$_OracleAttestationData_$106_calldata_ptr","nodeType":"YulIdentifier","src":"4522:60:5"},"nodeType":"YulFunctionCall","src":"4522:93:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4512:6:5"}]}]},{"nodeType":"YulBlock","src":"4635:341:5","statements":[{"nodeType":"YulVariableDeclaration","src":"4650:46:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4681:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"4692:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4677:3:5"},"nodeType":"YulFunctionCall","src":"4677:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4664:12:5"},"nodeType":"YulFunctionCall","src":"4664:32:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4654:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"4743:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"4745:77:5"},"nodeType":"YulFunctionCall","src":"4745:79:5"},"nodeType":"YulExpressionStatement","src":"4745:79:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4715:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"4723:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4712:2:5"},"nodeType":"YulFunctionCall","src":"4712:30:5"},"nodeType":"YulIf","src":"4709:117:5"},{"nodeType":"YulAssignment","src":"4840:126:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4938:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"4949:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4934:3:5"},"nodeType":"YulFunctionCall","src":"4934:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4958:7:5"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"4858:75:5"},"nodeType":"YulFunctionCall","src":"4858:108:5"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4840:6:5"},{"name":"value2","nodeType":"YulIdentifier","src":"4848:6:5"}]}]},{"nodeType":"YulBlock","src":"4986:341:5","statements":[{"nodeType":"YulVariableDeclaration","src":"5001:46:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5032:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"5043:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5028:3:5"},"nodeType":"YulFunctionCall","src":"5028:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5015:12:5"},"nodeType":"YulFunctionCall","src":"5015:32:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5005:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"5094:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"5096:77:5"},"nodeType":"YulFunctionCall","src":"5096:79:5"},"nodeType":"YulExpressionStatement","src":"5096:79:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5066:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"5074:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5063:2:5"},"nodeType":"YulFunctionCall","src":"5063:30:5"},"nodeType":"YulIf","src":"5060:117:5"},{"nodeType":"YulAssignment","src":"5191:126:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5289:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"5300:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5285:3:5"},"nodeType":"YulFunctionCall","src":"5285:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5309:7:5"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"5209:75:5"},"nodeType":"YulFunctionCall","src":"5209:108:5"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5191:6:5"},{"name":"value4","nodeType":"YulIdentifier","src":"5199:6:5"}]}]}]},"name":"abi_decode_tuple_t_struct$_OracleAttestationData_$106_calldata_ptrt_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4107:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4118:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4130:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4138:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4146:6:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4154:6:5","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4162:6:5","type":""}],"src":"3903:1431:5"},{"body":{"nodeType":"YulBlock","src":"5383:79:5","statements":[{"body":{"nodeType":"YulBlock","src":"5440:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5449:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5452:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5442:6:5"},"nodeType":"YulFunctionCall","src":"5442:12:5"},"nodeType":"YulExpressionStatement","src":"5442:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5406:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5431:5:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5413:17:5"},"nodeType":"YulFunctionCall","src":"5413:24:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"5403:2:5"},"nodeType":"YulFunctionCall","src":"5403:35:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5396:6:5"},"nodeType":"YulFunctionCall","src":"5396:43:5"},"nodeType":"YulIf","src":"5393:63:5"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5376:5:5","type":""}],"src":"5340:122:5"},{"body":{"nodeType":"YulBlock","src":"5520:87:5","statements":[{"nodeType":"YulAssignment","src":"5530:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5552:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5539:12:5"},"nodeType":"YulFunctionCall","src":"5539:20:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"5530:5:5"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5595:5:5"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"5568:26:5"},"nodeType":"YulFunctionCall","src":"5568:33:5"},"nodeType":"YulExpressionStatement","src":"5568:33:5"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5498:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"5506:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"5514:5:5","type":""}],"src":"5468:139:5"},{"body":{"nodeType":"YulBlock","src":"5679:263:5","statements":[{"body":{"nodeType":"YulBlock","src":"5725:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"5727:77:5"},"nodeType":"YulFunctionCall","src":"5727:79:5"},"nodeType":"YulExpressionStatement","src":"5727:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5700:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"5709:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5696:3:5"},"nodeType":"YulFunctionCall","src":"5696:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"5721:2:5","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5692:3:5"},"nodeType":"YulFunctionCall","src":"5692:32:5"},"nodeType":"YulIf","src":"5689:119:5"},{"nodeType":"YulBlock","src":"5818:117:5","statements":[{"nodeType":"YulVariableDeclaration","src":"5833:15:5","value":{"kind":"number","nodeType":"YulLiteral","src":"5847:1:5","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5837:6:5","type":""}]},{"nodeType":"YulAssignment","src":"5862:63:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5897:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"5908:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5893:3:5"},"nodeType":"YulFunctionCall","src":"5893:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5917:7:5"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"5872:20:5"},"nodeType":"YulFunctionCall","src":"5872:53:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5862:6:5"}]}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5649:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5660:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5672:6:5","type":""}],"src":"5613:329:5"},{"body":{"nodeType":"YulBlock","src":"6074:206:5","statements":[{"nodeType":"YulAssignment","src":"6084:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6096:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"6107:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6092:3:5"},"nodeType":"YulFunctionCall","src":"6092:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6084:4:5"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6164:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6177:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"6188:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6173:3:5"},"nodeType":"YulFunctionCall","src":"6173:17:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"6120:43:5"},"nodeType":"YulFunctionCall","src":"6120:71:5"},"nodeType":"YulExpressionStatement","src":"6120:71:5"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"6245:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6258:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"6269:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6254:3:5"},"nodeType":"YulFunctionCall","src":"6254:18:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"6201:43:5"},"nodeType":"YulFunctionCall","src":"6201:72:5"},"nodeType":"YulExpressionStatement","src":"6201:72:5"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6038:9:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6050:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6058:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6069:4:5","type":""}],"src":"5948:332:5"},{"body":{"nodeType":"YulBlock","src":"6341:53:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6358:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6381:5:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"6363:17:5"},"nodeType":"YulFunctionCall","src":"6363:24:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6351:6:5"},"nodeType":"YulFunctionCall","src":"6351:37:5"},"nodeType":"YulExpressionStatement","src":"6351:37:5"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6329:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6336:3:5","type":""}],"src":"6286:108:5"},{"body":{"nodeType":"YulBlock","src":"6594:397:5","statements":[{"nodeType":"YulVariableDeclaration","src":"6604:26:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6620:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"6625:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6616:3:5"},"nodeType":"YulFunctionCall","src":"6616:14:5"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"6608:4:5","type":""}]},{"nodeType":"YulBlock","src":"6640:165:5","statements":[{"nodeType":"YulVariableDeclaration","src":"6676:43:5","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6706:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"6713:4:5","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6702:3:5"},"nodeType":"YulFunctionCall","src":"6702:16:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6696:5:5"},"nodeType":"YulFunctionCall","src":"6696:23:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"6680:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"6766:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6784:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"6789:4:5","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6780:3:5"},"nodeType":"YulFunctionCall","src":"6780:14:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"6732:33:5"},"nodeType":"YulFunctionCall","src":"6732:63:5"},"nodeType":"YulExpressionStatement","src":"6732:63:5"}]},{"nodeType":"YulBlock","src":"6815:169:5","statements":[{"nodeType":"YulVariableDeclaration","src":"6855:43:5","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6885:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"6892:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6881:3:5"},"nodeType":"YulFunctionCall","src":"6881:16:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6875:5:5"},"nodeType":"YulFunctionCall","src":"6875:23:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"6859:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"6945:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6963:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"6968:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6959:3:5"},"nodeType":"YulFunctionCall","src":"6959:14:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"6911:33:5"},"nodeType":"YulFunctionCall","src":"6911:63:5"},"nodeType":"YulExpressionStatement","src":"6911:63:5"}]}]},"name":"abi_encode_t_struct$_OracleData_$14_memory_ptr_to_t_struct$_OracleData_$14_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6581:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6588:3:5","type":""}],"src":"6476:515:5"},{"body":{"nodeType":"YulBlock","src":"7147:176:5","statements":[{"nodeType":"YulAssignment","src":"7157:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7169:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"7180:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7165:3:5"},"nodeType":"YulFunctionCall","src":"7165:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7157:4:5"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7289:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7302:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"7313:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7298:3:5"},"nodeType":"YulFunctionCall","src":"7298:17:5"}],"functionName":{"name":"abi_encode_t_struct$_OracleData_$14_memory_ptr_to_t_struct$_OracleData_$14_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7193:95:5"},"nodeType":"YulFunctionCall","src":"7193:123:5"},"nodeType":"YulExpressionStatement","src":"7193:123:5"}]},"name":"abi_encode_tuple_t_struct$_OracleData_$14_memory_ptr__to_t_struct$_OracleData_$14_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7119:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7131:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7142:4:5","type":""}],"src":"6997:326:5"},{"body":{"nodeType":"YulBlock","src":"7374:32:5","statements":[{"nodeType":"YulAssignment","src":"7384:16:5","value":{"name":"value","nodeType":"YulIdentifier","src":"7395:5:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"7384:7:5"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7356:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"7366:7:5","type":""}],"src":"7329:77:5"},{"body":{"nodeType":"YulBlock","src":"7455:79:5","statements":[{"body":{"nodeType":"YulBlock","src":"7512:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7521:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7524:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7514:6:5"},"nodeType":"YulFunctionCall","src":"7514:12:5"},"nodeType":"YulExpressionStatement","src":"7514:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7478:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7503:5:5"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"7485:17:5"},"nodeType":"YulFunctionCall","src":"7485:24:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7475:2:5"},"nodeType":"YulFunctionCall","src":"7475:35:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7468:6:5"},"nodeType":"YulFunctionCall","src":"7468:43:5"},"nodeType":"YulIf","src":"7465:63:5"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7448:5:5","type":""}],"src":"7412:122:5"},{"body":{"nodeType":"YulBlock","src":"7592:87:5","statements":[{"nodeType":"YulAssignment","src":"7602:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7624:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7611:12:5"},"nodeType":"YulFunctionCall","src":"7611:20:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7602:5:5"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7667:5:5"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"7640:26:5"},"nodeType":"YulFunctionCall","src":"7640:33:5"},"nodeType":"YulExpressionStatement","src":"7640:33:5"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7570:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"7578:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7586:5:5","type":""}],"src":"7540:139:5"},{"body":{"nodeType":"YulBlock","src":"7743:64:5","statements":[{"nodeType":"YulAssignment","src":"7753:48:5","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"7783:3:5"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"7792:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"7797:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7788:3:5"},"nodeType":"YulFunctionCall","src":"7788:12:5"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"7762:20:5"},"nodeType":"YulFunctionCall","src":"7762:39:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7753:5:5"}]}]},"name":"calldata_access_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"7720:7:5","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"7729:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7737:5:5","type":""}],"src":"7685:122:5"},{"body":{"nodeType":"YulBlock","src":"7868:53:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7885:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7908:5:5"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"7890:17:5"},"nodeType":"YulFunctionCall","src":"7890:24:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7878:6:5"},"nodeType":"YulFunctionCall","src":"7878:37:5"},"nodeType":"YulExpressionStatement","src":"7878:37:5"}]},"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7856:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7863:3:5","type":""}],"src":"7813:108:5"},{"body":{"nodeType":"YulBlock","src":"8016:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8033:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8036:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8026:6:5"},"nodeType":"YulFunctionCall","src":"8026:12:5"},"nodeType":"YulExpressionStatement","src":"8026:12:5"}]},"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulFunctionDefinition","src":"7927:117:5"},{"body":{"nodeType":"YulBlock","src":"8138:288:5","statements":[{"nodeType":"YulVariableDeclaration","src":"8148:43:5","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8187:3:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8174:12:5"},"nodeType":"YulFunctionCall","src":"8174:17:5"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"8152:18:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"8285:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulIdentifier","src":"8287:77:5"},"nodeType":"YulFunctionCall","src":"8287:79:5"},"nodeType":"YulExpressionStatement","src":"8287:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"8214:18:5"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"8242:12:5"},"nodeType":"YulFunctionCall","src":"8242:14:5"},{"name":"base_ref","nodeType":"YulIdentifier","src":"8258:8:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8238:3:5"},"nodeType":"YulFunctionCall","src":"8238:29:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8273:4:5","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"8279:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8269:3:5"},"nodeType":"YulFunctionCall","src":"8269:12:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8234:3:5"},"nodeType":"YulFunctionCall","src":"8234:48:5"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8210:3:5"},"nodeType":"YulFunctionCall","src":"8210:73:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8203:6:5"},"nodeType":"YulFunctionCall","src":"8203:81:5"},"nodeType":"YulIf","src":"8200:168:5"},{"nodeType":"YulAssignment","src":"8377:42:5","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"8390:18:5"},{"name":"base_ref","nodeType":"YulIdentifier","src":"8410:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8386:3:5"},"nodeType":"YulFunctionCall","src":"8386:33:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"8377:5:5"}]}]},"name":"calldata_access_t_struct$_ReportData_$119_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"8114:8:5","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"8124:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"8132:5:5","type":""}],"src":"8050:376:5"},{"body":{"nodeType":"YulBlock","src":"8521:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8538:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8541:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8531:6:5"},"nodeType":"YulFunctionCall","src":"8531:12:5"},"nodeType":"YulExpressionStatement","src":"8531:12:5"}]},"name":"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2","nodeType":"YulFunctionDefinition","src":"8432:117:5"},{"body":{"nodeType":"YulBlock","src":"8644:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8661:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8664:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8654:6:5"},"nodeType":"YulFunctionCall","src":"8654:12:5"},"nodeType":"YulExpressionStatement","src":"8654:12:5"}]},"name":"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20","nodeType":"YulFunctionDefinition","src":"8555:117:5"},{"body":{"nodeType":"YulBlock","src":"8756:633:5","statements":[{"nodeType":"YulVariableDeclaration","src":"8766:43:5","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8805:3:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8792:12:5"},"nodeType":"YulFunctionCall","src":"8792:17:5"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"8770:18:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"8903:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulIdentifier","src":"8905:77:5"},"nodeType":"YulFunctionCall","src":"8905:79:5"},"nodeType":"YulExpressionStatement","src":"8905:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"8832:18:5"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"8860:12:5"},"nodeType":"YulFunctionCall","src":"8860:14:5"},{"name":"base_ref","nodeType":"YulIdentifier","src":"8876:8:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8856:3:5"},"nodeType":"YulFunctionCall","src":"8856:29:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8891:4:5","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"8897:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8887:3:5"},"nodeType":"YulFunctionCall","src":"8887:12:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8852:3:5"},"nodeType":"YulFunctionCall","src":"8852:48:5"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8828:3:5"},"nodeType":"YulFunctionCall","src":"8828:73:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8821:6:5"},"nodeType":"YulFunctionCall","src":"8821:81:5"},"nodeType":"YulIf","src":"8818:168:5"},{"nodeType":"YulAssignment","src":"8995:42:5","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"9008:18:5"},{"name":"base_ref","nodeType":"YulIdentifier","src":"9028:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9004:3:5"},"nodeType":"YulFunctionCall","src":"9004:33:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"8995:5:5"}]},{"nodeType":"YulAssignment","src":"9047:29:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9070:5:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9057:12:5"},"nodeType":"YulFunctionCall","src":"9057:19:5"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"9047:6:5"}]},{"nodeType":"YulAssignment","src":"9085:25:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9098:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"9105:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9094:3:5"},"nodeType":"YulFunctionCall","src":"9094:16:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"9085:5:5"}]},{"body":{"nodeType":"YulBlock","src":"9153:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2","nodeType":"YulIdentifier","src":"9155:77:5"},"nodeType":"YulFunctionCall","src":"9155:79:5"},"nodeType":"YulExpressionStatement","src":"9155:79:5"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9125:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"9133:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9122:2:5"},"nodeType":"YulFunctionCall","src":"9122:30:5"},"nodeType":"YulIf","src":"9119:117:5"},{"body":{"nodeType":"YulBlock","src":"9299:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20","nodeType":"YulIdentifier","src":"9301:77:5"},"nodeType":"YulFunctionCall","src":"9301:79:5"},"nodeType":"YulExpressionStatement","src":"9301:79:5"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9252:5:5"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"9263:12:5"},"nodeType":"YulFunctionCall","src":"9263:14:5"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9283:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"9291:4:5","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"9279:3:5"},"nodeType":"YulFunctionCall","src":"9279:17:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9259:3:5"},"nodeType":"YulFunctionCall","src":"9259:38:5"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"9248:3:5"},"nodeType":"YulFunctionCall","src":"9248:50:5"},"nodeType":"YulIf","src":"9245:137:5"}]},"name":"calldata_access_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"8724:8:5","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"8734:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"8742:5:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"8749:6:5","type":""}],"src":"8678:711:5"},{"body":{"nodeType":"YulBlock","src":"9480:73:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9497:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"9502:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9490:6:5"},"nodeType":"YulFunctionCall","src":"9490:19:5"},"nodeType":"YulExpressionStatement","src":"9490:19:5"},{"nodeType":"YulAssignment","src":"9518:29:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9537:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"9542:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9533:3:5"},"nodeType":"YulFunctionCall","src":"9533:14:5"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"9518:11:5"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9452:3:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"9457:6:5","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"9468:11:5","type":""}],"src":"9395:158:5"},{"body":{"nodeType":"YulBlock","src":"9623:82:5","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9646:3:5"},{"name":"src","nodeType":"YulIdentifier","src":"9651:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"9656:6:5"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"9633:12:5"},"nodeType":"YulFunctionCall","src":"9633:30:5"},"nodeType":"YulExpressionStatement","src":"9633:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9683:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"9688:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9679:3:5"},"nodeType":"YulFunctionCall","src":"9679:16:5"},{"kind":"number","nodeType":"YulLiteral","src":"9697:1:5","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9672:6:5"},"nodeType":"YulFunctionCall","src":"9672:27:5"},"nodeType":"YulExpressionStatement","src":"9672:27:5"}]},"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"9605:3:5","type":""},{"name":"dst","nodeType":"YulTypedName","src":"9610:3:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"9615:6:5","type":""}],"src":"9559:146:5"},{"body":{"nodeType":"YulBlock","src":"9759:54:5","statements":[{"nodeType":"YulAssignment","src":"9769:38:5","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9787:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"9794:2:5","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9783:3:5"},"nodeType":"YulFunctionCall","src":"9783:14:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9803:2:5","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9799:3:5"},"nodeType":"YulFunctionCall","src":"9799:7:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9779:3:5"},"nodeType":"YulFunctionCall","src":"9779:28:5"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"9769:6:5"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9742:5:5","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"9752:6:5","type":""}],"src":"9711:102:5"},{"body":{"nodeType":"YulBlock","src":"9931:204:5","statements":[{"nodeType":"YulAssignment","src":"9941:67:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9996:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"10001:6:5"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"9948:47:5"},"nodeType":"YulFunctionCall","src":"9948:60:5"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9941:3:5"}]},{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"10055:5:5"},{"name":"pos","nodeType":"YulIdentifier","src":"10062:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"10067:6:5"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"10018:36:5"},"nodeType":"YulFunctionCall","src":"10018:56:5"},"nodeType":"YulExpressionStatement","src":"10018:56:5"},{"nodeType":"YulAssignment","src":"10083:46:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10094:3:5"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10121:6:5"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"10099:21:5"},"nodeType":"YulFunctionCall","src":"10099:29:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10090:3:5"},"nodeType":"YulFunctionCall","src":"10090:39:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10083:3:5"}]}]},"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"9904:5:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"9911:6:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9919:3:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9927:3:5","type":""}],"src":"9841:294:5"},{"body":{"nodeType":"YulBlock","src":"10199:64:5","statements":[{"nodeType":"YulAssignment","src":"10209:48:5","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"10239:3:5"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"10248:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"10253:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10244:3:5"},"nodeType":"YulFunctionCall","src":"10244:12:5"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"10218:20:5"},"nodeType":"YulFunctionCall","src":"10218:39:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"10209:5:5"}]}]},"name":"calldata_access_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"10176:7:5","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"10185:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"10193:5:5","type":""}],"src":"10141:122:5"},{"body":{"nodeType":"YulBlock","src":"10435:1435:5","statements":[{"nodeType":"YulVariableDeclaration","src":"10445:26:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10461:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"10466:4:5","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10457:3:5"},"nodeType":"YulFunctionCall","src":"10457:14:5"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"10449:4:5","type":""}]},{"nodeType":"YulBlock","src":"10481:302:5","statements":[{"nodeType":"YulVariableDeclaration","src":"10517:95:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10588:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10599:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"10606:4:5","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10595:3:5"},"nodeType":"YulFunctionCall","src":"10595:16:5"}],"functionName":{"name":"calldata_access_t_bytes_calldata_ptr","nodeType":"YulIdentifier","src":"10551:36:5"},"nodeType":"YulFunctionCall","src":"10551:61:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"10521:12:5","type":""},{"name":"memberValue1","nodeType":"YulTypedName","src":"10535:12:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10637:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"10642:4:5","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10633:3:5"},"nodeType":"YulFunctionCall","src":"10633:14:5"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"10653:4:5"},{"name":"pos","nodeType":"YulIdentifier","src":"10659:3:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10649:3:5"},"nodeType":"YulFunctionCall","src":"10649:14:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10626:6:5"},"nodeType":"YulFunctionCall","src":"10626:38:5"},"nodeType":"YulExpressionStatement","src":"10626:38:5"},{"nodeType":"YulAssignment","src":"10677:95:5","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"10739:12:5"},{"name":"memberValue1","nodeType":"YulIdentifier","src":"10753:12:5"},{"name":"tail","nodeType":"YulIdentifier","src":"10767:4:5"}],"functionName":{"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"10685:53:5"},"nodeType":"YulFunctionCall","src":"10685:87:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10677:4:5"}]}]},{"nodeType":"YulBlock","src":"10793:196:5","statements":[{"nodeType":"YulVariableDeclaration","src":"10833:70:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10879:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10890:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"10897:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10886:3:5"},"nodeType":"YulFunctionCall","src":"10886:16:5"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"10853:25:5"},"nodeType":"YulFunctionCall","src":"10853:50:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"10837:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"10950:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10968:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"10973:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10964:3:5"},"nodeType":"YulFunctionCall","src":"10964:14:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"10916:33:5"},"nodeType":"YulFunctionCall","src":"10916:63:5"},"nodeType":"YulExpressionStatement","src":"10916:63:5"}]},{"nodeType":"YulBlock","src":"10999:201:5","statements":[{"nodeType":"YulVariableDeclaration","src":"11044:70:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11090:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11101:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"11108:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11097:3:5"},"nodeType":"YulFunctionCall","src":"11097:16:5"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11064:25:5"},"nodeType":"YulFunctionCall","src":"11064:50:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11048:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11161:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11179:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"11184:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11175:3:5"},"nodeType":"YulFunctionCall","src":"11175:14:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11127:33:5"},"nodeType":"YulFunctionCall","src":"11127:63:5"},"nodeType":"YulExpressionStatement","src":"11127:63:5"}]},{"nodeType":"YulBlock","src":"11210:204:5","statements":[{"nodeType":"YulVariableDeclaration","src":"11258:70:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11304:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11315:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"11322:4:5","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11311:3:5"},"nodeType":"YulFunctionCall","src":"11311:16:5"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11278:25:5"},"nodeType":"YulFunctionCall","src":"11278:50:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11262:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11375:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11393:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"11398:4:5","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11389:3:5"},"nodeType":"YulFunctionCall","src":"11389:14:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11341:33:5"},"nodeType":"YulFunctionCall","src":"11341:63:5"},"nodeType":"YulExpressionStatement","src":"11341:63:5"}]},{"nodeType":"YulBlock","src":"11424:200:5","statements":[{"nodeType":"YulVariableDeclaration","src":"11468:70:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11514:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11525:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"11532:4:5","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11521:3:5"},"nodeType":"YulFunctionCall","src":"11521:16:5"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11488:25:5"},"nodeType":"YulFunctionCall","src":"11488:50:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11472:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11585:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11603:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"11608:4:5","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11599:3:5"},"nodeType":"YulFunctionCall","src":"11599:14:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11551:33:5"},"nodeType":"YulFunctionCall","src":"11551:63:5"},"nodeType":"YulExpressionStatement","src":"11551:63:5"}]},{"nodeType":"YulBlock","src":"11634:209:5","statements":[{"nodeType":"YulVariableDeclaration","src":"11687:70:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11733:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11744:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"11751:4:5","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11740:3:5"},"nodeType":"YulFunctionCall","src":"11740:16:5"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11707:25:5"},"nodeType":"YulFunctionCall","src":"11707:50:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11691:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11804:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11822:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"11827:4:5","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11818:3:5"},"nodeType":"YulFunctionCall","src":"11818:14:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11770:33:5"},"nodeType":"YulFunctionCall","src":"11770:63:5"},"nodeType":"YulExpressionStatement","src":"11770:63:5"}]},{"nodeType":"YulAssignment","src":"11853:11:5","value":{"name":"tail","nodeType":"YulIdentifier","src":"11860:4:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11853:3:5"}]}]},"name":"abi_encode_t_struct$_ReportData_$119_calldata_ptr_to_t_struct$_ReportData_$119_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10414:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10421:3:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10430:3:5","type":""}],"src":"10315:1555:5"},{"body":{"nodeType":"YulBlock","src":"12096:823:5","statements":[{"nodeType":"YulVariableDeclaration","src":"12106:26:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12122:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"12127:4:5","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12118:3:5"},"nodeType":"YulFunctionCall","src":"12118:14:5"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"12110:4:5","type":""}]},{"nodeType":"YulBlock","src":"12142:194:5","statements":[{"nodeType":"YulVariableDeclaration","src":"12180:70:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12226:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12237:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"12244:4:5","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12233:3:5"},"nodeType":"YulFunctionCall","src":"12233:16:5"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"12200:25:5"},"nodeType":"YulFunctionCall","src":"12200:50:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12184:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12297:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12315:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"12320:4:5","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12311:3:5"},"nodeType":"YulFunctionCall","src":"12311:14:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"12263:33:5"},"nodeType":"YulFunctionCall","src":"12263:63:5"},"nodeType":"YulExpressionStatement","src":"12263:63:5"}]},{"nodeType":"YulBlock","src":"12346:329:5","statements":[{"nodeType":"YulVariableDeclaration","src":"12383:99:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12458:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12469:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"12476:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12465:3:5"},"nodeType":"YulFunctionCall","src":"12465:16:5"}],"functionName":{"name":"calldata_access_t_struct$_ReportData_$119_calldata_ptr","nodeType":"YulIdentifier","src":"12403:54:5"},"nodeType":"YulFunctionCall","src":"12403:79:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12387:12:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12507:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"12512:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12503:3:5"},"nodeType":"YulFunctionCall","src":"12503:14:5"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12523:4:5"},{"name":"pos","nodeType":"YulIdentifier","src":"12529:3:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12519:3:5"},"nodeType":"YulFunctionCall","src":"12519:14:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12496:6:5"},"nodeType":"YulFunctionCall","src":"12496:38:5"},"nodeType":"YulExpressionStatement","src":"12496:38:5"},{"nodeType":"YulAssignment","src":"12547:117:5","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12645:12:5"},{"name":"tail","nodeType":"YulIdentifier","src":"12659:4:5"}],"functionName":{"name":"abi_encode_t_struct$_ReportData_$119_calldata_ptr_to_t_struct$_ReportData_$119_memory_ptr","nodeType":"YulIdentifier","src":"12555:89:5"},"nodeType":"YulFunctionCall","src":"12555:109:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12547:4:5"}]}]},{"nodeType":"YulBlock","src":"12685:207:5","statements":[{"nodeType":"YulVariableDeclaration","src":"12736:70:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12782:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12793:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"12800:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12789:3:5"},"nodeType":"YulFunctionCall","src":"12789:16:5"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"12756:25:5"},"nodeType":"YulFunctionCall","src":"12756:50:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12740:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12853:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12871:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"12876:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12867:3:5"},"nodeType":"YulFunctionCall","src":"12867:14:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"12819:33:5"},"nodeType":"YulFunctionCall","src":"12819:63:5"},"nodeType":"YulExpressionStatement","src":"12819:63:5"}]},{"nodeType":"YulAssignment","src":"12902:11:5","value":{"name":"tail","nodeType":"YulIdentifier","src":"12909:4:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"12902:3:5"}]}]},"name":"abi_encode_t_struct$_OracleAttestationData_$106_calldata_ptr_to_t_struct$_OracleAttestationData_$106_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12075:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12082:3:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"12091:3:5","type":""}],"src":"11944:975:5"},{"body":{"nodeType":"YulBlock","src":"13062:73:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13079:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"13084:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13072:6:5"},"nodeType":"YulFunctionCall","src":"13072:19:5"},"nodeType":"YulExpressionStatement","src":"13072:19:5"},{"nodeType":"YulAssignment","src":"13100:29:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13119:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"13124:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13115:3:5"},"nodeType":"YulFunctionCall","src":"13115:14:5"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"13100:11:5"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13034:3:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"13039:6:5","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"13050:11:5","type":""}],"src":"12925:210:5"},{"body":{"nodeType":"YulBlock","src":"13243:28:5","statements":[{"nodeType":"YulAssignment","src":"13253:11:5","value":{"name":"ptr","nodeType":"YulIdentifier","src":"13261:3:5"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"13253:4:5"}]}]},"name":"array_dataslot_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"13230:3:5","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"13238:4:5","type":""}],"src":"13141:130:5"},{"body":{"nodeType":"YulBlock","src":"13322:51:5","statements":[{"nodeType":"YulAssignment","src":"13332:35:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13361:5:5"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"13343:17:5"},"nodeType":"YulFunctionCall","src":"13343:24:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"13332:7:5"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13304:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"13314:7:5","type":""}],"src":"13277:96:5"},{"body":{"nodeType":"YulBlock","src":"13422:79:5","statements":[{"body":{"nodeType":"YulBlock","src":"13479:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13488:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13491:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13481:6:5"},"nodeType":"YulFunctionCall","src":"13481:12:5"},"nodeType":"YulExpressionStatement","src":"13481:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13445:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13470:5:5"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"13452:17:5"},"nodeType":"YulFunctionCall","src":"13452:24:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"13442:2:5"},"nodeType":"YulFunctionCall","src":"13442:35:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13435:6:5"},"nodeType":"YulFunctionCall","src":"13435:43:5"},"nodeType":"YulIf","src":"13432:63:5"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13415:5:5","type":""}],"src":"13379:122:5"},{"body":{"nodeType":"YulBlock","src":"13559:87:5","statements":[{"nodeType":"YulAssignment","src":"13569:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13591:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13578:12:5"},"nodeType":"YulFunctionCall","src":"13578:20:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"13569:5:5"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13634:5:5"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"13607:26:5"},"nodeType":"YulFunctionCall","src":"13607:33:5"},"nodeType":"YulExpressionStatement","src":"13607:33:5"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"13537:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"13545:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"13553:5:5","type":""}],"src":"13507:139:5"},{"body":{"nodeType":"YulBlock","src":"13710:64:5","statements":[{"nodeType":"YulAssignment","src":"13720:48:5","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"13750:3:5"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"13759:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"13764:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13755:3:5"},"nodeType":"YulFunctionCall","src":"13755:12:5"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"13729:20:5"},"nodeType":"YulFunctionCall","src":"13729:39:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"13720:5:5"}]}]},"name":"calldata_access_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"13687:7:5","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"13696:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"13704:5:5","type":""}],"src":"13652:122:5"},{"body":{"nodeType":"YulBlock","src":"13835:53:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13852:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13875:5:5"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"13857:17:5"},"nodeType":"YulFunctionCall","src":"13857:24:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13845:6:5"},"nodeType":"YulFunctionCall","src":"13845:37:5"},"nodeType":"YulExpressionStatement","src":"13845:37:5"}]},"name":"abi_encode_t_address_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13823:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"13830:3:5","type":""}],"src":"13780:108:5"},{"body":{"nodeType":"YulBlock","src":"14048:446:5","statements":[{"nodeType":"YulVariableDeclaration","src":"14058:26:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14074:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"14079:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14070:3:5"},"nodeType":"YulFunctionCall","src":"14070:14:5"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"14062:4:5","type":""}]},{"nodeType":"YulBlock","src":"14094:191:5","statements":[{"nodeType":"YulVariableDeclaration","src":"14129:70:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14175:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14186:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"14193:4:5","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14182:3:5"},"nodeType":"YulFunctionCall","src":"14182:16:5"}],"functionName":{"name":"calldata_access_t_address","nodeType":"YulIdentifier","src":"14149:25:5"},"nodeType":"YulFunctionCall","src":"14149:50:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"14133:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"14246:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14264:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"14269:4:5","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14260:3:5"},"nodeType":"YulFunctionCall","src":"14260:14:5"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"14212:33:5"},"nodeType":"YulFunctionCall","src":"14212:63:5"},"nodeType":"YulExpressionStatement","src":"14212:63:5"}]},{"nodeType":"YulBlock","src":"14295:192:5","statements":[{"nodeType":"YulVariableDeclaration","src":"14331:70:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14377:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14388:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"14395:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14384:3:5"},"nodeType":"YulFunctionCall","src":"14384:16:5"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"14351:25:5"},"nodeType":"YulFunctionCall","src":"14351:50:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"14335:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"14448:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14466:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"14471:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14462:3:5"},"nodeType":"YulFunctionCall","src":"14462:14:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"14414:33:5"},"nodeType":"YulFunctionCall","src":"14414:63:5"},"nodeType":"YulExpressionStatement","src":"14414:63:5"}]}]},"name":"abi_encode_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14035:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"14042:3:5","type":""}],"src":"13938:556:5"},{"body":{"nodeType":"YulBlock","src":"14634:153:5","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14732:6:5"},{"name":"pos","nodeType":"YulIdentifier","src":"14740:3:5"}],"functionName":{"name":"abi_encode_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr","nodeType":"YulIdentifier","src":"14644:87:5"},"nodeType":"YulFunctionCall","src":"14644:100:5"},"nodeType":"YulExpressionStatement","src":"14644:100:5"},{"nodeType":"YulAssignment","src":"14753:28:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14771:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"14776:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14767:3:5"},"nodeType":"YulFunctionCall","src":"14767:14:5"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"14753:10:5"}]}]},"name":"abi_encodeUpdatedPos_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"14607:6:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"14615:3:5","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"14623:10:5","type":""}],"src":"14500:287:5"},{"body":{"nodeType":"YulBlock","src":"14879:28:5","statements":[{"nodeType":"YulAssignment","src":"14889:12:5","value":{"name":"ptr","nodeType":"YulIdentifier","src":"14898:3:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"14889:5:5"}]}]},"name":"calldata_access_t_struct$_Validator_$131_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"14856:7:5","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"14865:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"14873:5:5","type":""}],"src":"14793:114:5"},{"body":{"nodeType":"YulBlock","src":"15018:38:5","statements":[{"nodeType":"YulAssignment","src":"15028:22:5","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"15040:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"15045:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15036:3:5"},"nodeType":"YulFunctionCall","src":"15036:14:5"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"15028:4:5"}]}]},"name":"array_nextElement_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"15005:3:5","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"15013:4:5","type":""}],"src":"14913:143:5"},{"body":{"nodeType":"YulBlock","src":"15298:729:5","statements":[{"nodeType":"YulAssignment","src":"15309:119:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15416:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"15421:6:5"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"15316:99:5"},"nodeType":"YulFunctionCall","src":"15316:112:5"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15309:3:5"}]},{"nodeType":"YulVariableDeclaration","src":"15437:101:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15532:5:5"}],"functionName":{"name":"array_dataslot_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"15452:79:5"},"nodeType":"YulFunctionCall","src":"15452:86:5"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"15441:7:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15547:21:5","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"15561:7:5"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"15551:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"15637:365:5","statements":[{"nodeType":"YulVariableDeclaration","src":"15651:91:5","value":{"arguments":[{"name":"baseRef","nodeType":"YulIdentifier","src":"15726:7:5"},{"name":"srcPtr","nodeType":"YulIdentifier","src":"15735:6:5"}],"functionName":{"name":"calldata_access_t_struct$_Validator_$131_calldata_ptr","nodeType":"YulIdentifier","src":"15672:53:5"},"nodeType":"YulFunctionCall","src":"15672:70:5"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"15655:13:5","type":""}]},{"nodeType":"YulAssignment","src":"15755:124:5","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"15860:13:5"},{"name":"pos","nodeType":"YulIdentifier","src":"15875:3:5"}],"functionName":{"name":"abi_encodeUpdatedPos_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr","nodeType":"YulIdentifier","src":"15762:97:5"},"nodeType":"YulFunctionCall","src":"15762:117:5"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15755:3:5"}]},{"nodeType":"YulAssignment","src":"15892:100:5","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"15985:6:5"}],"functionName":{"name":"array_nextElement_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"15902:82:5"},"nodeType":"YulFunctionCall","src":"15902:90:5"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"15892:6:5"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"15599:1:5"},{"name":"length","nodeType":"YulIdentifier","src":"15602:6:5"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15596:2:5"},"nodeType":"YulFunctionCall","src":"15596:13:5"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"15610:18:5","statements":[{"nodeType":"YulAssignment","src":"15612:14:5","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"15621:1:5"},{"kind":"number","nodeType":"YulLiteral","src":"15624:1:5","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15617:3:5"},"nodeType":"YulFunctionCall","src":"15617:9:5"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"15612:1:5"}]}]},"pre":{"nodeType":"YulBlock","src":"15581:14:5","statements":[{"nodeType":"YulVariableDeclaration","src":"15583:10:5","value":{"kind":"number","nodeType":"YulLiteral","src":"15592:1:5","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"15587:1:5","type":""}]}]},"src":"15577:425:5"},{"nodeType":"YulAssignment","src":"16011:10:5","value":{"name":"pos","nodeType":"YulIdentifier","src":"16018:3:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16011:3:5"}]}]},"name":"abi_encode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15269:5:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"15276:6:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"15284:3:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"15293:3:5","type":""}],"src":"15110:917:5"},{"body":{"nodeType":"YulBlock","src":"16170:73:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16187:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"16192:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16180:6:5"},"nodeType":"YulFunctionCall","src":"16180:19:5"},"nodeType":"YulExpressionStatement","src":"16180:19:5"},{"nodeType":"YulAssignment","src":"16208:29:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16227:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"16232:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16223:3:5"},"nodeType":"YulFunctionCall","src":"16223:14:5"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16208:11:5"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16142:3:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"16147:6:5","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16158:11:5","type":""}],"src":"16033:210:5"},{"body":{"nodeType":"YulBlock","src":"16351:28:5","statements":[{"nodeType":"YulAssignment","src":"16361:11:5","value":{"name":"ptr","nodeType":"YulIdentifier","src":"16369:3:5"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"16361:4:5"}]}]},"name":"array_dataslot_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"16338:3:5","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"16346:4:5","type":""}],"src":"16249:130:5"},{"body":{"nodeType":"YulBlock","src":"16428:43:5","statements":[{"nodeType":"YulAssignment","src":"16438:27:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16453:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"16460:4:5","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16449:3:5"},"nodeType":"YulFunctionCall","src":"16449:16:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"16438:7:5"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16410:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"16420:7:5","type":""}],"src":"16385:86:5"},{"body":{"nodeType":"YulBlock","src":"16518:77:5","statements":[{"body":{"nodeType":"YulBlock","src":"16573:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16582:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16585:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16575:6:5"},"nodeType":"YulFunctionCall","src":"16575:12:5"},"nodeType":"YulExpressionStatement","src":"16575:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16541:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16564:5:5"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"16548:15:5"},"nodeType":"YulFunctionCall","src":"16548:22:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"16538:2:5"},"nodeType":"YulFunctionCall","src":"16538:33:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16531:6:5"},"nodeType":"YulFunctionCall","src":"16531:41:5"},"nodeType":"YulIf","src":"16528:61:5"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16511:5:5","type":""}],"src":"16477:118:5"},{"body":{"nodeType":"YulBlock","src":"16651:85:5","statements":[{"nodeType":"YulAssignment","src":"16661:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"16683:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16670:12:5"},"nodeType":"YulFunctionCall","src":"16670:20:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"16661:5:5"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16724:5:5"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"16699:24:5"},"nodeType":"YulFunctionCall","src":"16699:31:5"},"nodeType":"YulExpressionStatement","src":"16699:31:5"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"16629:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"16637:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"16645:5:5","type":""}],"src":"16601:135:5"},{"body":{"nodeType":"YulBlock","src":"16798:62:5","statements":[{"nodeType":"YulAssignment","src":"16808:46:5","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"16836:3:5"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"16845:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"16850:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16841:3:5"},"nodeType":"YulFunctionCall","src":"16841:12:5"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"16817:18:5"},"nodeType":"YulFunctionCall","src":"16817:37:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"16808:5:5"}]}]},"name":"calldata_access_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"16775:7:5","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"16784:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"16792:5:5","type":""}],"src":"16742:118:5"},{"body":{"nodeType":"YulBlock","src":"16917:51:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16934:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16955:5:5"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"16939:15:5"},"nodeType":"YulFunctionCall","src":"16939:22:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16927:6:5"},"nodeType":"YulFunctionCall","src":"16927:35:5"},"nodeType":"YulExpressionStatement","src":"16927:35:5"}]},"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16905:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"16912:3:5","type":""}],"src":"16866:102:5"},{"body":{"nodeType":"YulBlock","src":"17128:631:5","statements":[{"nodeType":"YulVariableDeclaration","src":"17138:26:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17154:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"17159:4:5","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17150:3:5"},"nodeType":"YulFunctionCall","src":"17150:14:5"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"17142:4:5","type":""}]},{"nodeType":"YulBlock","src":"17174:182:5","statements":[{"nodeType":"YulVariableDeclaration","src":"17206:68:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17250:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17261:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"17268:4:5","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17257:3:5"},"nodeType":"YulFunctionCall","src":"17257:16:5"}],"functionName":{"name":"calldata_access_t_uint8","nodeType":"YulIdentifier","src":"17226:23:5"},"nodeType":"YulFunctionCall","src":"17226:48:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17210:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17317:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17335:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"17340:4:5","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17331:3:5"},"nodeType":"YulFunctionCall","src":"17331:14:5"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"17287:29:5"},"nodeType":"YulFunctionCall","src":"17287:59:5"},"nodeType":"YulExpressionStatement","src":"17287:59:5"}]},{"nodeType":"YulBlock","src":"17366:188:5","statements":[{"nodeType":"YulVariableDeclaration","src":"17398:70:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17444:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17455:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"17462:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17451:3:5"},"nodeType":"YulFunctionCall","src":"17451:16:5"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"17418:25:5"},"nodeType":"YulFunctionCall","src":"17418:50:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17402:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17515:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17533:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"17538:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17529:3:5"},"nodeType":"YulFunctionCall","src":"17529:14:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"17481:33:5"},"nodeType":"YulFunctionCall","src":"17481:63:5"},"nodeType":"YulExpressionStatement","src":"17481:63:5"}]},{"nodeType":"YulBlock","src":"17564:188:5","statements":[{"nodeType":"YulVariableDeclaration","src":"17596:70:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17642:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17653:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"17660:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17649:3:5"},"nodeType":"YulFunctionCall","src":"17649:16:5"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"17616:25:5"},"nodeType":"YulFunctionCall","src":"17616:50:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17600:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17713:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17731:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"17736:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17727:3:5"},"nodeType":"YulFunctionCall","src":"17727:14:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"17679:33:5"},"nodeType":"YulFunctionCall","src":"17679:63:5"},"nodeType":"YulExpressionStatement","src":"17679:63:5"}]}]},"name":"abi_encode_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17115:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"17122:3:5","type":""}],"src":"17018:741:5"},{"body":{"nodeType":"YulBlock","src":"17899:153:5","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17997:6:5"},{"name":"pos","nodeType":"YulIdentifier","src":"18005:3:5"}],"functionName":{"name":"abi_encode_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr","nodeType":"YulIdentifier","src":"17909:87:5"},"nodeType":"YulFunctionCall","src":"17909:100:5"},"nodeType":"YulExpressionStatement","src":"17909:100:5"},{"nodeType":"YulAssignment","src":"18018:28:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18036:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"18041:4:5","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18032:3:5"},"nodeType":"YulFunctionCall","src":"18032:14:5"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"18018:10:5"}]}]},"name":"abi_encodeUpdatedPos_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"17872:6:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"17880:3:5","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"17888:10:5","type":""}],"src":"17765:287:5"},{"body":{"nodeType":"YulBlock","src":"18144:28:5","statements":[{"nodeType":"YulAssignment","src":"18154:12:5","value":{"name":"ptr","nodeType":"YulIdentifier","src":"18163:3:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"18154:5:5"}]}]},"name":"calldata_access_t_struct$_Signature_$126_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"18121:7:5","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"18130:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"18138:5:5","type":""}],"src":"18058:114:5"},{"body":{"nodeType":"YulBlock","src":"18283:38:5","statements":[{"nodeType":"YulAssignment","src":"18293:22:5","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"18305:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"18310:4:5","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18301:3:5"},"nodeType":"YulFunctionCall","src":"18301:14:5"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"18293:4:5"}]}]},"name":"array_nextElement_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"18270:3:5","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"18278:4:5","type":""}],"src":"18178:143:5"},{"body":{"nodeType":"YulBlock","src":"18563:729:5","statements":[{"nodeType":"YulAssignment","src":"18574:119:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18681:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"18686:6:5"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"18581:99:5"},"nodeType":"YulFunctionCall","src":"18581:112:5"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"18574:3:5"}]},{"nodeType":"YulVariableDeclaration","src":"18702:101:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18797:5:5"}],"functionName":{"name":"array_dataslot_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"18717:79:5"},"nodeType":"YulFunctionCall","src":"18717:86:5"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"18706:7:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18812:21:5","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"18826:7:5"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"18816:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"18902:365:5","statements":[{"nodeType":"YulVariableDeclaration","src":"18916:91:5","value":{"arguments":[{"name":"baseRef","nodeType":"YulIdentifier","src":"18991:7:5"},{"name":"srcPtr","nodeType":"YulIdentifier","src":"19000:6:5"}],"functionName":{"name":"calldata_access_t_struct$_Signature_$126_calldata_ptr","nodeType":"YulIdentifier","src":"18937:53:5"},"nodeType":"YulFunctionCall","src":"18937:70:5"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"18920:13:5","type":""}]},{"nodeType":"YulAssignment","src":"19020:124:5","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"19125:13:5"},{"name":"pos","nodeType":"YulIdentifier","src":"19140:3:5"}],"functionName":{"name":"abi_encodeUpdatedPos_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr","nodeType":"YulIdentifier","src":"19027:97:5"},"nodeType":"YulFunctionCall","src":"19027:117:5"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"19020:3:5"}]},{"nodeType":"YulAssignment","src":"19157:100:5","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"19250:6:5"}],"functionName":{"name":"array_nextElement_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"19167:82:5"},"nodeType":"YulFunctionCall","src":"19167:90:5"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"19157:6:5"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"18864:1:5"},{"name":"length","nodeType":"YulIdentifier","src":"18867:6:5"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18861:2:5"},"nodeType":"YulFunctionCall","src":"18861:13:5"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"18875:18:5","statements":[{"nodeType":"YulAssignment","src":"18877:14:5","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"18886:1:5"},{"kind":"number","nodeType":"YulLiteral","src":"18889:1:5","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18882:3:5"},"nodeType":"YulFunctionCall","src":"18882:9:5"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"18877:1:5"}]}]},"pre":{"nodeType":"YulBlock","src":"18846:14:5","statements":[{"nodeType":"YulVariableDeclaration","src":"18848:10:5","value":{"kind":"number","nodeType":"YulLiteral","src":"18857:1:5","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"18852:1:5","type":""}]}]},"src":"18842:425:5"},{"nodeType":"YulAssignment","src":"19276:10:5","value":{"name":"pos","nodeType":"YulIdentifier","src":"19283:3:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"19276:3:5"}]}]},"name":"abi_encode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18534:5:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"18541:6:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18549:3:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"18558:3:5","type":""}],"src":"18375:917:5"},{"body":{"nodeType":"YulBlock","src":"19758:747:5","statements":[{"nodeType":"YulAssignment","src":"19768:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19780:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19791:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19776:3:5"},"nodeType":"YulFunctionCall","src":"19776:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19768:4:5"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19815:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19826:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19811:3:5"},"nodeType":"YulFunctionCall","src":"19811:17:5"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"19834:4:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"19840:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19830:3:5"},"nodeType":"YulFunctionCall","src":"19830:20:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19804:6:5"},"nodeType":"YulFunctionCall","src":"19804:47:5"},"nodeType":"YulExpressionStatement","src":"19804:47:5"},{"nodeType":"YulAssignment","src":"19860:144:5","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19990:6:5"},{"name":"tail","nodeType":"YulIdentifier","src":"19999:4:5"}],"functionName":{"name":"abi_encode_t_struct$_OracleAttestationData_$106_calldata_ptr_to_t_struct$_OracleAttestationData_$106_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"19868:121:5"},"nodeType":"YulFunctionCall","src":"19868:136:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19860:4:5"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20025:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"20036:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20021:3:5"},"nodeType":"YulFunctionCall","src":"20021:18:5"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20045:4:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"20051:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20041:3:5"},"nodeType":"YulFunctionCall","src":"20041:20:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20014:6:5"},"nodeType":"YulFunctionCall","src":"20014:48:5"},"nodeType":"YulExpressionStatement","src":"20014:48:5"},{"nodeType":"YulAssignment","src":"20071:180:5","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20229:6:5"},{"name":"value2","nodeType":"YulIdentifier","src":"20237:6:5"},{"name":"tail","nodeType":"YulIdentifier","src":"20246:4:5"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20079:149:5"},"nodeType":"YulFunctionCall","src":"20079:172:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20071:4:5"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20272:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"20283:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20268:3:5"},"nodeType":"YulFunctionCall","src":"20268:18:5"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20292:4:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"20298:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20288:3:5"},"nodeType":"YulFunctionCall","src":"20288:20:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20261:6:5"},"nodeType":"YulFunctionCall","src":"20261:48:5"},"nodeType":"YulExpressionStatement","src":"20261:48:5"},{"nodeType":"YulAssignment","src":"20318:180:5","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"20476:6:5"},{"name":"value4","nodeType":"YulIdentifier","src":"20484:6:5"},{"name":"tail","nodeType":"YulIdentifier","src":"20493:4:5"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20326:149:5"},"nodeType":"YulFunctionCall","src":"20326:172:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20318:4:5"}]}]},"name":"abi_encode_tuple_t_struct$_OracleAttestationData_$106_calldata_ptr_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr__to_t_struct$_OracleAttestationData_$106_memory_ptr_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19698:9:5","type":""},{"name":"value4","nodeType":"YulTypedName","src":"19710:6:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"19718:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19726:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19734:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19742:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19753:4:5","type":""}],"src":"19298:1207:5"},{"body":{"nodeType":"YulBlock","src":"20600:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20617:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20620:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20610:6:5"},"nodeType":"YulFunctionCall","src":"20610:12:5"},"nodeType":"YulExpressionStatement","src":"20610:12:5"}]},"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulFunctionDefinition","src":"20511:117:5"},{"body":{"nodeType":"YulBlock","src":"20723:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20740:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20743:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20733:6:5"},"nodeType":"YulFunctionCall","src":"20733:12:5"},"nodeType":"YulExpressionStatement","src":"20733:12:5"}]},"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulFunctionDefinition","src":"20634:117:5"},{"body":{"nodeType":"YulBlock","src":"20846:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20863:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20866:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20856:6:5"},"nodeType":"YulFunctionCall","src":"20856:12:5"},"nodeType":"YulExpressionStatement","src":"20856:12:5"}]},"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulFunctionDefinition","src":"20757:117:5"},{"body":{"nodeType":"YulBlock","src":"20980:295:5","statements":[{"nodeType":"YulVariableDeclaration","src":"20990:51:5","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"21029:11:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21016:12:5"},"nodeType":"YulFunctionCall","src":"21016:25:5"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"20994:18:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"21135:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"21137:77:5"},"nodeType":"YulFunctionCall","src":"21137:79:5"},"nodeType":"YulExpressionStatement","src":"21137:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"21064:18:5"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"21092:12:5"},"nodeType":"YulFunctionCall","src":"21092:14:5"},{"name":"base_ref","nodeType":"YulIdentifier","src":"21108:8:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21088:3:5"},"nodeType":"YulFunctionCall","src":"21088:29:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21123:4:5","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"21129:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21119:3:5"},"nodeType":"YulFunctionCall","src":"21119:12:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21084:3:5"},"nodeType":"YulFunctionCall","src":"21084:48:5"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21060:3:5"},"nodeType":"YulFunctionCall","src":"21060:73:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21053:6:5"},"nodeType":"YulFunctionCall","src":"21053:81:5"},"nodeType":"YulIf","src":"21050:168:5"},{"nodeType":"YulAssignment","src":"21227:41:5","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"21239:8:5"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"21249:18:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21235:3:5"},"nodeType":"YulFunctionCall","src":"21235:33:5"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"21227:4:5"}]}]},"name":"access_calldata_tail_t_struct$_ReportData_$119_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"20949:8:5","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"20959:11:5","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"20975:4:5","type":""}],"src":"20880:395:5"},{"body":{"nodeType":"YulBlock","src":"21371:634:5","statements":[{"nodeType":"YulVariableDeclaration","src":"21381:51:5","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"21420:11:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21407:12:5"},"nodeType":"YulFunctionCall","src":"21407:25:5"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"21385:18:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"21526:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"21528:77:5"},"nodeType":"YulFunctionCall","src":"21528:79:5"},"nodeType":"YulExpressionStatement","src":"21528:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"21455:18:5"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"21483:12:5"},"nodeType":"YulFunctionCall","src":"21483:14:5"},{"name":"base_ref","nodeType":"YulIdentifier","src":"21499:8:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21479:3:5"},"nodeType":"YulFunctionCall","src":"21479:29:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21514:4:5","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"21520:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21510:3:5"},"nodeType":"YulFunctionCall","src":"21510:12:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21475:3:5"},"nodeType":"YulFunctionCall","src":"21475:48:5"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21451:3:5"},"nodeType":"YulFunctionCall","src":"21451:73:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21444:6:5"},"nodeType":"YulFunctionCall","src":"21444:81:5"},"nodeType":"YulIf","src":"21441:168:5"},{"nodeType":"YulAssignment","src":"21618:41:5","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"21630:8:5"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"21640:18:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21626:3:5"},"nodeType":"YulFunctionCall","src":"21626:33:5"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"21618:4:5"}]},{"nodeType":"YulAssignment","src":"21669:28:5","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"21692:4:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21679:12:5"},"nodeType":"YulFunctionCall","src":"21679:18:5"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"21669:6:5"}]},{"body":{"nodeType":"YulBlock","src":"21740:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulIdentifier","src":"21742:77:5"},"nodeType":"YulFunctionCall","src":"21742:79:5"},"nodeType":"YulExpressionStatement","src":"21742:79:5"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"21712:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"21720:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"21709:2:5"},"nodeType":"YulFunctionCall","src":"21709:30:5"},"nodeType":"YulIf","src":"21706:117:5"},{"nodeType":"YulAssignment","src":"21832:21:5","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"21844:4:5"},{"kind":"number","nodeType":"YulLiteral","src":"21850:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21840:3:5"},"nodeType":"YulFunctionCall","src":"21840:13:5"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"21832:4:5"}]},{"body":{"nodeType":"YulBlock","src":"21915:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulIdentifier","src":"21917:77:5"},"nodeType":"YulFunctionCall","src":"21917:79:5"},"nodeType":"YulExpressionStatement","src":"21917:79:5"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"21869:4:5"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"21879:12:5"},"nodeType":"YulFunctionCall","src":"21879:14:5"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"21899:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"21907:4:5","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"21895:3:5"},"nodeType":"YulFunctionCall","src":"21895:17:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21875:3:5"},"nodeType":"YulFunctionCall","src":"21875:38:5"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"21865:3:5"},"nodeType":"YulFunctionCall","src":"21865:49:5"},"nodeType":"YulIf","src":"21862:136:5"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"21332:8:5","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"21342:11:5","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"21358:4:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"21364:6:5","type":""}],"src":"21281:724:5"},{"body":{"nodeType":"YulBlock","src":"22039:152:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22056:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22059:77:5","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22049:6:5"},"nodeType":"YulFunctionCall","src":"22049:88:5"},"nodeType":"YulExpressionStatement","src":"22049:88:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22153:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"22156:4:5","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22146:6:5"},"nodeType":"YulFunctionCall","src":"22146:15:5"},"nodeType":"YulExpressionStatement","src":"22146:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22177:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22180:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22170:6:5"},"nodeType":"YulFunctionCall","src":"22170:15:5"},"nodeType":"YulExpressionStatement","src":"22170:15:5"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"22011:180:5"},{"body":{"nodeType":"YulBlock","src":"22242:149:5","statements":[{"nodeType":"YulAssignment","src":"22252:25:5","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22275:1:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"22257:17:5"},"nodeType":"YulFunctionCall","src":"22257:20:5"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"22252:1:5"}]},{"nodeType":"YulAssignment","src":"22286:25:5","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"22309:1:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"22291:17:5"},"nodeType":"YulFunctionCall","src":"22291:20:5"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"22286:1:5"}]},{"nodeType":"YulAssignment","src":"22320:17:5","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22332:1:5"},{"name":"y","nodeType":"YulIdentifier","src":"22335:1:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22328:3:5"},"nodeType":"YulFunctionCall","src":"22328:9:5"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"22320:4:5"}]},{"body":{"nodeType":"YulBlock","src":"22362:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22364:16:5"},"nodeType":"YulFunctionCall","src":"22364:18:5"},"nodeType":"YulExpressionStatement","src":"22364:18:5"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"22353:4:5"},{"name":"x","nodeType":"YulIdentifier","src":"22359:1:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22350:2:5"},"nodeType":"YulFunctionCall","src":"22350:11:5"},"nodeType":"YulIf","src":"22347:37:5"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22228:1:5","type":""},{"name":"y","nodeType":"YulTypedName","src":"22231:1:5","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"22237:4:5","type":""}],"src":"22197:194:5"},{"body":{"nodeType":"YulBlock","src":"22425:152:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22442:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22445:77:5","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22435:6:5"},"nodeType":"YulFunctionCall","src":"22435:88:5"},"nodeType":"YulExpressionStatement","src":"22435:88:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22539:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"22542:4:5","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22532:6:5"},"nodeType":"YulFunctionCall","src":"22532:15:5"},"nodeType":"YulExpressionStatement","src":"22532:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22563:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22566:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22556:6:5"},"nodeType":"YulFunctionCall","src":"22556:15:5"},"nodeType":"YulExpressionStatement","src":"22556:15:5"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"22397:180:5"}]},"contents":"{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(identity(cleanup_t_uint160(value)))\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_contract$_ITellorDataBridge_$166_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_ITellorDataBridge_$166_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_ITellorDataBridge_$166_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_ITellorDataBridge_$166__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_ITellorDataBridge_$166_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct OracleAttestationData\n function abi_decode_t_struct$_OracleAttestationData_$106_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 96) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // struct Validator[]\n function abi_decode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x40)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // struct Signature[]\n function abi_decode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x60)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_struct$_OracleAttestationData_$106_calldata_ptrt_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_OracleAttestationData_$106_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n // struct YoloTellorUser.OracleData -> struct YoloTellorUser.OracleData\n function abi_encode_t_struct$_OracleData_$14_memory_ptr_to_t_struct$_OracleData_$14_memory_ptr_fromStack(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // value\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // timestamp\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encode_tuple_t_struct$_OracleData_$14_memory_ptr__to_t_struct$_OracleData_$14_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_struct$_OracleData_$14_memory_ptr_to_t_struct$_OracleData_$14_memory_ptr_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function calldata_access_t_bytes32(baseRef, ptr) -> value {\n value := abi_decode_t_bytes32(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() {\n revert(0, 0)\n }\n\n function calldata_access_t_struct$_ReportData_$119_calldata_ptr(base_ref, ptr) -> value {\n let rel_offset_of_tail := calldataload(ptr)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() }\n value := add(rel_offset_of_tail, base_ref)\n\n }\n\n function revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() {\n revert(0, 0)\n }\n\n function revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() {\n revert(0, 0)\n }\n\n function calldata_access_t_bytes_calldata_ptr(base_ref, ptr) -> value, length {\n let rel_offset_of_tail := calldataload(ptr)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() }\n value := add(rel_offset_of_tail, base_ref)\n\n length := calldataload(value)\n value := add(value, 0x20)\n if gt(length, 0xffffffffffffffff) { revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() }\n if sgt(value, sub(calldatasize(), mul(length, 0x01))) { revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() }\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function calldata_access_t_uint256(baseRef, ptr) -> value {\n value := abi_decode_t_uint256(ptr, add(ptr, 32))\n }\n\n // struct ReportData -> struct ReportData\n function abi_encode_t_struct$_ReportData_$119_calldata_ptr_to_t_struct$_ReportData_$119_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0xc0)\n\n {\n // value\n\n let memberValue0, memberValue1 := calldata_access_t_bytes_calldata_ptr(value, add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(memberValue0, memberValue1, tail)\n\n }\n\n {\n // timestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n {\n // aggregatePower\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // previousTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // nextTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // lastConsensusTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n end := tail\n }\n\n // struct OracleAttestationData -> struct OracleAttestationData\n function abi_encode_t_struct$_OracleAttestationData_$106_calldata_ptr_to_t_struct$_OracleAttestationData_$106_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x60)\n\n {\n // queryId\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x00))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x00))\n }\n\n {\n // report\n\n let memberValue0 := calldata_access_t_struct$_ReportData_$119_calldata_ptr(value, add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_struct$_ReportData_$119_calldata_ptr_to_t_struct$_ReportData_$119_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // attestationTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n end := tail\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function calldata_access_t_address(baseRef, ptr) -> value {\n value := abi_decode_t_address(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n // struct Validator -> struct Validator\n function abi_encode_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // addr\n\n let memberValue0 := calldata_access_t_address(value, add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // power\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encodeUpdatedPos_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr(value0, pos) -> updatedPos {\n abi_encode_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr(value0, pos)\n updatedPos := add(pos, 0x40)\n }\n\n function calldata_access_t_struct$_Validator_$131_calldata_ptr(baseRef, ptr) -> value {\n value := ptr\n }\n\n function array_nextElement_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x40)\n }\n\n // struct Validator[] -> struct Validator[]\n function abi_encode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_struct$_Validator_$131_calldata_ptr(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function calldata_access_t_uint8(baseRef, ptr) -> value {\n value := abi_decode_t_uint8(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_uint8_to_t_uint8(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n // struct Signature -> struct Signature\n function abi_encode_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr(value, pos) {\n let tail := add(pos, 0x60)\n\n {\n // v\n\n let memberValue0 := calldata_access_t_uint8(value, add(value, 0x00))\n abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x00))\n }\n\n {\n // r\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x20))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x20))\n }\n\n {\n // s\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x40))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x40))\n }\n\n }\n\n function abi_encodeUpdatedPos_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr(value0, pos) -> updatedPos {\n abi_encode_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr(value0, pos)\n updatedPos := add(pos, 0x60)\n }\n\n function calldata_access_t_struct$_Signature_$126_calldata_ptr(baseRef, ptr) -> value {\n value := ptr\n }\n\n function array_nextElement_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x60)\n }\n\n // struct Signature[] -> struct Signature[]\n function abi_encode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_struct$_Signature_$126_calldata_ptr(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_struct$_OracleAttestationData_$106_calldata_ptr_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr__to_t_struct$_OracleAttestationData_$106_memory_ptr_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_OracleAttestationData_$106_calldata_ptr_to_t_struct$_OracleAttestationData_$106_memory_ptr_fromStack(value0, tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack(value1, value2, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack(value3, value4, tail)\n\n }\n\n function revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() {\n revert(0, 0)\n }\n\n function revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() {\n revert(0, 0)\n }\n\n function revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() {\n revert(0, 0)\n }\n\n function access_calldata_tail_t_struct$_ReportData_$119_calldata_ptr(base_ref, ptr_to_tail) -> addr {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n length := calldataload(addr)\n if gt(length, 0xffffffffffffffff) { revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() }\n addr := add(addr, 32)\n if sgt(addr, sub(calldatasize(), mul(length, 0x01))) { revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n","id":5,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100575760003560e01c8063413a89b41461005c578063578855b21461007a5780636180801014610098578063aa4dea00146100b4578063bffe07bf146100e5575b600080fd5b610064610103565b604051610071919061032a565b60405180910390f35b610082610110565b60405161008f91906103c4565b60405180910390f35b6100b260048036038101906100ad91906104c8565b610134565b005b6100ce60048036038101906100c991906105a5565b610266565b6040516100dc9291906105d2565b60405180910390f35b6100ed61029a565b6040516100fa9190610639565b60405180910390f35b6000600180549050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635e0d3b0f86868686866040518663ffffffff1660e01b8152600401610195959493929190610b8e565b60006040518083038186803b1580156101ad57600080fd5b505afa1580156101c1573d6000803e3d6000fd5b5050505060008580602001906101d79190610bed565b80600001906101e69190610c15565b8101906101f391906105a5565b9050600160405180604001604052808381526020018880602001906102189190610bed565b60200135815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050505050505050565b6001818154811061027657600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b6102a26102f7565b60018080805490506102b49190610ca7565b815481106102c5576102c4610cdb565b5b906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050905090565b604051806040016040528060008152602001600081525090565b6000819050919050565b61032481610311565b82525050565b600060208201905061033f600083018461031b565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061038a61038561038084610345565b610365565b610345565b9050919050565b600061039c8261036f565b9050919050565b60006103ae82610391565b9050919050565b6103be816103a3565b82525050565b60006020820190506103d960008301846103b5565b92915050565b600080fd5b600080fd5b600080fd5b600060608284031215610404576104036103e9565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126104325761043161040d565b5b8235905067ffffffffffffffff81111561044f5761044e610412565b5b60208301915083604082028301111561046b5761046a610417565b5b9250929050565b60008083601f8401126104885761048761040d565b5b8235905067ffffffffffffffff8111156104a5576104a4610412565b5b6020830191508360608202830111156104c1576104c0610417565b5b9250929050565b6000806000806000606086880312156104e4576104e36103df565b5b600086013567ffffffffffffffff811115610502576105016103e4565b5b61050e888289016103ee565b955050602086013567ffffffffffffffff81111561052f5761052e6103e4565b5b61053b8882890161041c565b9450945050604086013567ffffffffffffffff81111561055e5761055d6103e4565b5b61056a88828901610472565b92509250509295509295909350565b61058281610311565b811461058d57600080fd5b50565b60008135905061059f81610579565b92915050565b6000602082840312156105bb576105ba6103df565b5b60006105c984828501610590565b91505092915050565b60006040820190506105e7600083018561031b565b6105f4602083018461031b565b9392505050565b61060481610311565b82525050565b60408201600082015161062060008501826105fb565b50602082015161063360208501826105fb565b50505050565b600060408201905061064e600083018461060a565b92915050565b6000819050919050565b61066781610654565b811461067257600080fd5b50565b6000813590506106848161065e565b92915050565b60006106996020840184610675565b905092915050565b6106aa81610654565b82525050565b600080fd5b60008235600160c0038336030381126106d1576106d06106b0565b5b82810191505092915050565b600080fd5b600080fd5b60008083356001602003843603038112610704576107036106b0565b5b83810192508235915060208301925067ffffffffffffffff82111561072c5761072b6106dd565b5b600182023603831315610742576107416106e2565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000610787838561074a565b935061079483858461075b565b61079d8361076a565b840190509392505050565b60006107b76020840184610590565b905092915050565b600060c083016107d260008401846106e7565b85830360008701526107e583828461077b565b925050506107f660208401846107a8565b61080360208601826105fb565b5061081160408401846107a8565b61081e60408601826105fb565b5061082c60608401846107a8565b61083960608601826105fb565b5061084760808401846107a8565b61085460808601826105fb565b5061086260a08401846107a8565b61086f60a08601826105fb565b508091505092915050565b60006060830161088d600084018461068a565b61089a60008601826106a1565b506108a860208401846106b5565b84820360208601526108ba82826107bf565b9150506108ca60408401846107a8565b6108d760408601826105fb565b508091505092915050565b600082825260208201905092915050565b6000819050919050565b600061090882610345565b9050919050565b610918816108fd565b811461092357600080fd5b50565b6000813590506109358161090f565b92915050565b600061094a6020840184610926565b905092915050565b61095b816108fd565b82525050565b60408201610972600083018361093b565b61097f6000850182610952565b5061098d60208301836107a8565b61099a60208501826105fb565b50505050565b60006109ac8383610961565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006109dc83856108e2565b93506109e7826108f3565b8060005b85811015610a20576109fd82846109b8565b610a0788826109a0565b9750610a12836109c3565b9250506001810190506109eb565b5085925050509392505050565b600082825260208201905092915050565b6000819050919050565b600060ff82169050919050565b610a5e81610a48565b8114610a6957600080fd5b50565b600081359050610a7b81610a55565b92915050565b6000610a906020840184610a6c565b905092915050565b610aa181610a48565b82525050565b60608201610ab86000830183610a81565b610ac56000850182610a98565b50610ad3602083018361068a565b610ae060208501826106a1565b50610aee604083018361068a565b610afb60408501826106a1565b50505050565b6000610b0d8383610aa7565b60608301905092915050565b600082905092915050565b6000606082019050919050565b6000610b3d8385610a2d565b9350610b4882610a3e565b8060005b85811015610b8157610b5e8284610b19565b610b688882610b01565b9750610b7383610b24565b925050600181019050610b4c565b5085925050509392505050565b60006060820190508181036000830152610ba8818861087a565b90508181036020830152610bbd8186886109d0565b90508181036040830152610bd2818486610b31565b90509695505050505050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112610c0957610c08610bde565b5b80830191505092915050565b60008083356001602003843603038112610c3257610c31610bde565b5b80840192508235915067ffffffffffffffff821115610c5457610c53610be3565b5b602083019250600182023603831315610c7057610c6f610be8565b5b509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610cb282610311565b9150610cbd83610311565b9250828203905081811115610cd557610cd4610c78565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220174690d1e38629ed07a1b806259cb4e0a0ec3625491143806f80de1564fa8e6464736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x413A89B4 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x578855B2 EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x61808010 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0xAA4DEA00 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xBFFE07BF EQ PUSH2 0xE5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x103 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x32A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH2 0x110 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x3C4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x134 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC9 SWAP2 SWAP1 PUSH2 0x5A5 JUMP JUMPDEST PUSH2 0x266 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDC SWAP3 SWAP2 SWAP1 PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xED PUSH2 0x29A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFA SWAP2 SWAP1 PUSH2 0x639 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5E0D3B0F DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x195 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB8E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1C1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x0 DUP6 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1D7 SWAP2 SWAP1 PUSH2 0xBED JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x1E6 SWAP2 SWAP1 PUSH2 0xC15 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0x5A5 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP9 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x218 SWAP2 SWAP1 PUSH2 0xBED JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH2 0x2A2 PUSH2 0x2F7 JUMP JUMPDEST PUSH1 0x1 DUP1 DUP1 DUP1 SLOAD SWAP1 POP PUSH2 0x2B4 SWAP2 SWAP1 PUSH2 0xCA7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2C5 JUMPI PUSH2 0x2C4 PUSH2 0xCDB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x324 DUP2 PUSH2 0x311 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x33F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x31B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38A PUSH2 0x385 PUSH2 0x380 DUP5 PUSH2 0x345 JUMP JUMPDEST PUSH2 0x365 JUMP JUMPDEST PUSH2 0x345 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39C DUP3 PUSH2 0x36F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3AE DUP3 PUSH2 0x391 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3BE DUP2 PUSH2 0x3A3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3D9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3B5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x404 JUMPI PUSH2 0x403 PUSH2 0x3E9 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x432 JUMPI PUSH2 0x431 PUSH2 0x40D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x44F JUMPI PUSH2 0x44E PUSH2 0x412 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x46B JUMPI PUSH2 0x46A PUSH2 0x417 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x488 JUMPI PUSH2 0x487 PUSH2 0x40D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4A5 JUMPI PUSH2 0x4A4 PUSH2 0x412 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x4C1 JUMPI PUSH2 0x4C0 PUSH2 0x417 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4E4 JUMPI PUSH2 0x4E3 PUSH2 0x3DF JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x502 JUMPI PUSH2 0x501 PUSH2 0x3E4 JUMP JUMPDEST JUMPDEST PUSH2 0x50E DUP9 DUP3 DUP10 ADD PUSH2 0x3EE JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x52F JUMPI PUSH2 0x52E PUSH2 0x3E4 JUMP JUMPDEST JUMPDEST PUSH2 0x53B DUP9 DUP3 DUP10 ADD PUSH2 0x41C JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x55E JUMPI PUSH2 0x55D PUSH2 0x3E4 JUMP JUMPDEST JUMPDEST PUSH2 0x56A DUP9 DUP3 DUP10 ADD PUSH2 0x472 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x582 DUP2 PUSH2 0x311 JUMP JUMPDEST DUP2 EQ PUSH2 0x58D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x59F DUP2 PUSH2 0x579 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5BB JUMPI PUSH2 0x5BA PUSH2 0x3DF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5C9 DUP5 DUP3 DUP6 ADD PUSH2 0x590 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x5E7 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x31B JUMP JUMPDEST PUSH2 0x5F4 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x31B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x604 DUP2 PUSH2 0x311 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x620 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x633 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x64E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x60A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x667 DUP2 PUSH2 0x654 JUMP JUMPDEST DUP2 EQ PUSH2 0x672 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x684 DUP2 PUSH2 0x65E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x699 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x675 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x6AA DUP2 PUSH2 0x654 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x6D1 JUMPI PUSH2 0x6D0 PUSH2 0x6B0 JUMP JUMPDEST JUMPDEST DUP3 DUP2 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x704 JUMPI PUSH2 0x703 PUSH2 0x6B0 JUMP JUMPDEST JUMPDEST DUP4 DUP2 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x72C JUMPI PUSH2 0x72B PUSH2 0x6DD JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x742 JUMPI PUSH2 0x741 PUSH2 0x6E2 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x787 DUP4 DUP6 PUSH2 0x74A JUMP JUMPDEST SWAP4 POP PUSH2 0x794 DUP4 DUP6 DUP5 PUSH2 0x75B JUMP JUMPDEST PUSH2 0x79D DUP4 PUSH2 0x76A JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7B7 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x590 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH2 0x7D2 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x6E7 JUMP JUMPDEST DUP6 DUP4 SUB PUSH1 0x0 DUP8 ADD MSTORE PUSH2 0x7E5 DUP4 DUP3 DUP5 PUSH2 0x77B JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x7F6 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x803 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x811 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x81E PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x82C PUSH1 0x60 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x839 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x847 PUSH1 0x80 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x854 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x862 PUSH1 0xA0 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x86F PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH2 0x88D PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x68A JUMP JUMPDEST PUSH2 0x89A PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x6A1 JUMP JUMPDEST POP PUSH2 0x8A8 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x6B5 JUMP JUMPDEST DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x8BA DUP3 DUP3 PUSH2 0x7BF JUMP JUMPDEST SWAP2 POP POP PUSH2 0x8CA PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x8D7 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x908 DUP3 PUSH2 0x345 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x918 DUP2 PUSH2 0x8FD JUMP JUMPDEST DUP2 EQ PUSH2 0x923 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x935 DUP2 PUSH2 0x90F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x94A PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x926 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x95B DUP2 PUSH2 0x8FD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0x972 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x93B JUMP JUMPDEST PUSH2 0x97F PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x952 JUMP JUMPDEST POP PUSH2 0x98D PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x99A PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9AC DUP4 DUP4 PUSH2 0x961 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9DC DUP4 DUP6 PUSH2 0x8E2 JUMP JUMPDEST SWAP4 POP PUSH2 0x9E7 DUP3 PUSH2 0x8F3 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xA20 JUMPI PUSH2 0x9FD DUP3 DUP5 PUSH2 0x9B8 JUMP JUMPDEST PUSH2 0xA07 DUP9 DUP3 PUSH2 0x9A0 JUMP JUMPDEST SWAP8 POP PUSH2 0xA12 DUP4 PUSH2 0x9C3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x9EB JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA5E DUP2 PUSH2 0xA48 JUMP JUMPDEST DUP2 EQ PUSH2 0xA69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA7B DUP2 PUSH2 0xA55 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA90 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xA6C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAA1 DUP2 PUSH2 0xA48 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 ADD PUSH2 0xAB8 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0xA81 JUMP JUMPDEST PUSH2 0xAC5 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0xA98 JUMP JUMPDEST POP PUSH2 0xAD3 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x68A JUMP JUMPDEST PUSH2 0xAE0 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x6A1 JUMP JUMPDEST POP PUSH2 0xAEE PUSH1 0x40 DUP4 ADD DUP4 PUSH2 0x68A JUMP JUMPDEST PUSH2 0xAFB PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x6A1 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0D DUP4 DUP4 PUSH2 0xAA7 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB3D DUP4 DUP6 PUSH2 0xA2D JUMP JUMPDEST SWAP4 POP PUSH2 0xB48 DUP3 PUSH2 0xA3E JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xB81 JUMPI PUSH2 0xB5E DUP3 DUP5 PUSH2 0xB19 JUMP JUMPDEST PUSH2 0xB68 DUP9 DUP3 PUSH2 0xB01 JUMP JUMPDEST SWAP8 POP PUSH2 0xB73 DUP4 PUSH2 0xB24 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xB4C JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xBA8 DUP2 DUP9 PUSH2 0x87A JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xBBD DUP2 DUP7 DUP9 PUSH2 0x9D0 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xBD2 DUP2 DUP5 DUP7 PUSH2 0xB31 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xC09 JUMPI PUSH2 0xC08 PUSH2 0xBDE JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xC32 JUMPI PUSH2 0xC31 PUSH2 0xBDE JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xC54 JUMPI PUSH2 0xC53 PUSH2 0xBE3 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xC70 JUMPI PUSH2 0xC6F PUSH2 0xBE8 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xCB2 DUP3 PUSH2 0x311 JUMP JUMPDEST SWAP2 POP PUSH2 0xCBD DUP4 PUSH2 0x311 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xCD5 JUMPI PUSH2 0xCD4 PUSH2 0xC78 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR CHAINID SWAP1 0xD1 0xE3 DUP7 0x29 0xED SMOD LOG1 0xB8 MOD 0x25 SWAP13 0xB4 0xE0 LOG0 0xEC CALLDATASIZE 0x25 0x49 GT NUMBER DUP1 PUSH16 0x80DE1564FA8E6464736F6C6343000813 STOP CALLER ","sourceMap":"103:1029:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1032:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;133:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;439:450;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;174:30;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;895:131;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1032:98;1080:7;1106:10;:17;;;;1099:24;;1032:98;:::o;133:35::-;;;;;;;;;;;;:::o;439:450::-;629:10;;;;;;;;;;:27;;;657:11;670:20;;692:5;;629:69;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;708:14;736:11;:18;;;;;;;;:::i;:::-;:24;;;;;;;;:::i;:::-;725:47;;;;;;;:::i;:::-;708:64;;782:10;798:83;;;;;;;;822:6;798:83;;;;843:11;:18;;;;;;;;:::i;:::-;:28;;;798:83;;;782:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;619:270;439:450;;;;;:::o;174:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;895:131::-;950:17;;:::i;:::-;986:10;1017:1;997:10;:17;;;;:21;;;;:::i;:::-;986:33;;;;;;;;:::i;:::-;;;;;;;;;;;;979:40;;;;;;;;;;;;;;;;;;;;;;;;;;;895:131;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;7:77:5:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:126::-;479:7;519:42;512:5;508:54;497:65;;442:126;;;:::o;574:60::-;602:3;623:5;616:12;;574:60;;;:::o;640:142::-;690:9;723:53;741:34;750:24;768:5;750:24;:::i;:::-;741:34;:::i;:::-;723:53;:::i;:::-;710:66;;640:142;;;:::o;788:126::-;838:9;871:37;902:5;871:37;:::i;:::-;858:50;;788:126;;;:::o;920:151::-;995:9;1028:37;1059:5;1028:37;:::i;:::-;1015:50;;920:151;;;:::o;1077:181::-;1189:62;1245:5;1189:62;:::i;:::-;1184:3;1177:75;1077:181;;:::o;1264:272::-;1382:4;1420:2;1409:9;1405:18;1397:26;;1433:96;1526:1;1515:9;1511:17;1502:6;1433:96;:::i;:::-;1264:272;;;;:::o;1623:117::-;1732:1;1729;1722:12;1746:117;1855:1;1852;1845:12;1869:117;1978:1;1975;1968:12;2028:244;2114:5;2155:2;2146:6;2141:3;2137:16;2133:25;2130:112;;;2161:79;;:::i;:::-;2130:112;2260:6;2251:15;;2028:244;;;;:::o;2278:117::-;2387:1;2384;2377:12;2401:117;2510:1;2507;2500:12;2524:117;2633:1;2630;2623:12;2673:596;2774:8;2784:6;2834:3;2827:4;2819:6;2815:17;2811:27;2801:122;;2842:79;;:::i;:::-;2801:122;2955:6;2942:20;2932:30;;2985:18;2977:6;2974:30;2971:117;;;3007:79;;:::i;:::-;2971:117;3121:4;3113:6;3109:17;3097:29;;3175:3;3167:4;3159:6;3155:17;3145:8;3141:32;3138:41;3135:128;;;3182:79;;:::i;:::-;3135:128;2673:596;;;;;:::o;3301:::-;3402:8;3412:6;3462:3;3455:4;3447:6;3443:17;3439:27;3429:122;;3470:79;;:::i;:::-;3429:122;3583:6;3570:20;3560:30;;3613:18;3605:6;3602:30;3599:117;;;3635:79;;:::i;:::-;3599:117;3749:4;3741:6;3737:17;3725:29;;3803:3;3795:4;3787:6;3783:17;3773:8;3769:32;3766:41;3763:128;;;3810:79;;:::i;:::-;3763:128;3301:596;;;;;:::o;3903:1431::-;4130:6;4138;4146;4154;4162;4211:2;4199:9;4190:7;4186:23;4182:32;4179:119;;;4217:79;;:::i;:::-;4179:119;4365:1;4354:9;4350:17;4337:31;4395:18;4387:6;4384:30;4381:117;;;4417:79;;:::i;:::-;4381:117;4522:93;4607:7;4598:6;4587:9;4583:22;4522:93;:::i;:::-;4512:103;;4308:317;4692:2;4681:9;4677:18;4664:32;4723:18;4715:6;4712:30;4709:117;;;4745:79;;:::i;:::-;4709:117;4858:108;4958:7;4949:6;4938:9;4934:22;4858:108;:::i;:::-;4840:126;;;;4635:341;5043:2;5032:9;5028:18;5015:32;5074:18;5066:6;5063:30;5060:117;;;5096:79;;:::i;:::-;5060:117;5209:108;5309:7;5300:6;5289:9;5285:22;5209:108;:::i;:::-;5191:126;;;;4986:341;3903:1431;;;;;;;;:::o;5340:122::-;5413:24;5431:5;5413:24;:::i;:::-;5406:5;5403:35;5393:63;;5452:1;5449;5442:12;5393:63;5340:122;:::o;5468:139::-;5514:5;5552:6;5539:20;5530:29;;5568:33;5595:5;5568:33;:::i;:::-;5468:139;;;;:::o;5613:329::-;5672:6;5721:2;5709:9;5700:7;5696:23;5692:32;5689:119;;;5727:79;;:::i;:::-;5689:119;5847:1;5872:53;5917:7;5908:6;5897:9;5893:22;5872:53;:::i;:::-;5862:63;;5818:117;5613:329;;;;:::o;5948:332::-;6069:4;6107:2;6096:9;6092:18;6084:26;;6120:71;6188:1;6177:9;6173:17;6164:6;6120:71;:::i;:::-;6201:72;6269:2;6258:9;6254:18;6245:6;6201:72;:::i;:::-;5948:332;;;;;:::o;6286:108::-;6363:24;6381:5;6363:24;:::i;:::-;6358:3;6351:37;6286:108;;:::o;6476:515::-;6625:4;6620:3;6616:14;6713:4;6706:5;6702:16;6696:23;6732:63;6789:4;6784:3;6780:14;6766:12;6732:63;:::i;:::-;6640:165;6892:4;6885:5;6881:16;6875:23;6911:63;6968:4;6963:3;6959:14;6945:12;6911:63;:::i;:::-;6815:169;6594:397;6476:515;;:::o;6997:326::-;7142:4;7180:2;7169:9;7165:18;7157:26;;7193:123;7313:1;7302:9;7298:17;7289:6;7193:123;:::i;:::-;6997:326;;;;:::o;7329:77::-;7366:7;7395:5;7384:16;;7329:77;;;:::o;7412:122::-;7485:24;7503:5;7485:24;:::i;:::-;7478:5;7475:35;7465:63;;7524:1;7521;7514:12;7465:63;7412:122;:::o;7540:139::-;7586:5;7624:6;7611:20;7602:29;;7640:33;7667:5;7640:33;:::i;:::-;7540:139;;;;:::o;7685:122::-;7737:5;7762:39;7797:2;7792:3;7788:12;7783:3;7762:39;:::i;:::-;7753:48;;7685:122;;;;:::o;7813:108::-;7890:24;7908:5;7890:24;:::i;:::-;7885:3;7878:37;7813:108;;:::o;7927:117::-;8036:1;8033;8026:12;8050:376;8132:5;8187:3;8174:17;8279:1;8273:4;8269:12;8258:8;8242:14;8238:29;8234:48;8214:18;8210:73;8200:168;;8287:79;;:::i;:::-;8200:168;8410:8;8390:18;8386:33;8377:42;;8138:288;8050:376;;;;:::o;8432:117::-;8541:1;8538;8531:12;8555:117;8664:1;8661;8654:12;8678:711;8742:5;8749:6;8805:3;8792:17;8897:1;8891:4;8887:12;8876:8;8860:14;8856:29;8852:48;8832:18;8828:73;8818:168;;8905:79;;:::i;:::-;8818:168;9028:8;9008:18;9004:33;8995:42;;9070:5;9057:19;9047:29;;9105:4;9098:5;9094:16;9085:25;;9133:18;9125:6;9122:30;9119:117;;;9155:79;;:::i;:::-;9119:117;9291:4;9283:6;9279:17;9263:14;9259:38;9252:5;9248:50;9245:137;;;9301:79;;:::i;:::-;9245:137;8756:633;8678:711;;;;;:::o;9395:158::-;9468:11;9502:6;9497:3;9490:19;9542:4;9537:3;9533:14;9518:29;;9395:158;;;;:::o;9559:146::-;9656:6;9651:3;9646;9633:30;9697:1;9688:6;9683:3;9679:16;9672:27;9559:146;;;:::o;9711:102::-;9752:6;9803:2;9799:7;9794:2;9787:5;9783:14;9779:28;9769:38;;9711:102;;;:::o;9841:294::-;9927:3;9948:60;10001:6;9996:3;9948:60;:::i;:::-;9941:67;;10018:56;10067:6;10062:3;10055:5;10018:56;:::i;:::-;10099:29;10121:6;10099:29;:::i;:::-;10094:3;10090:39;10083:46;;9841:294;;;;;:::o;10141:122::-;10193:5;10218:39;10253:2;10248:3;10244:12;10239:3;10218:39;:::i;:::-;10209:48;;10141:122;;;;:::o;10315:1555::-;10430:3;10466:4;10461:3;10457:14;10551:61;10606:4;10599:5;10595:16;10588:5;10551:61;:::i;:::-;10659:3;10653:4;10649:14;10642:4;10637:3;10633:14;10626:38;10685:87;10767:4;10753:12;10739;10685:87;:::i;:::-;10677:95;;10481:302;;10853:50;10897:4;10890:5;10886:16;10879:5;10853:50;:::i;:::-;10916:63;10973:4;10968:3;10964:14;10950:12;10916:63;:::i;:::-;10793:196;11064:50;11108:4;11101:5;11097:16;11090:5;11064:50;:::i;:::-;11127:63;11184:4;11179:3;11175:14;11161:12;11127:63;:::i;:::-;10999:201;11278:50;11322:4;11315:5;11311:16;11304:5;11278:50;:::i;:::-;11341:63;11398:4;11393:3;11389:14;11375:12;11341:63;:::i;:::-;11210:204;11488:50;11532:4;11525:5;11521:16;11514:5;11488:50;:::i;:::-;11551:63;11608:4;11603:3;11599:14;11585:12;11551:63;:::i;:::-;11424:200;11707:50;11751:4;11744:5;11740:16;11733:5;11707:50;:::i;:::-;11770:63;11827:4;11822:3;11818:14;11804:12;11770:63;:::i;:::-;11634:209;11860:4;11853:11;;10435:1435;10315:1555;;;;:::o;11944:975::-;12091:3;12127:4;12122:3;12118:14;12200:50;12244:4;12237:5;12233:16;12226:5;12200:50;:::i;:::-;12263:63;12320:4;12315:3;12311:14;12297:12;12263:63;:::i;:::-;12142:194;12403:79;12476:4;12469:5;12465:16;12458:5;12403:79;:::i;:::-;12529:3;12523:4;12519:14;12512:4;12507:3;12503:14;12496:38;12555:109;12659:4;12645:12;12555:109;:::i;:::-;12547:117;;12346:329;12756:50;12800:4;12793:5;12789:16;12782:5;12756:50;:::i;:::-;12819:63;12876:4;12871:3;12867:14;12853:12;12819:63;:::i;:::-;12685:207;12909:4;12902:11;;12096:823;11944:975;;;;:::o;12925:210::-;13050:11;13084:6;13079:3;13072:19;13124:4;13119:3;13115:14;13100:29;;12925:210;;;;:::o;13141:130::-;13238:4;13261:3;13253:11;;13141:130;;;:::o;13277:96::-;13314:7;13343:24;13361:5;13343:24;:::i;:::-;13332:35;;13277:96;;;:::o;13379:122::-;13452:24;13470:5;13452:24;:::i;:::-;13445:5;13442:35;13432:63;;13491:1;13488;13481:12;13432:63;13379:122;:::o;13507:139::-;13553:5;13591:6;13578:20;13569:29;;13607:33;13634:5;13607:33;:::i;:::-;13507:139;;;;:::o;13652:122::-;13704:5;13729:39;13764:2;13759:3;13755:12;13750:3;13729:39;:::i;:::-;13720:48;;13652:122;;;;:::o;13780:108::-;13857:24;13875:5;13857:24;:::i;:::-;13852:3;13845:37;13780:108;;:::o;13938:556::-;14079:4;14074:3;14070:14;14149:50;14193:4;14186:5;14182:16;14175:5;14149:50;:::i;:::-;14212:63;14269:4;14264:3;14260:14;14246:12;14212:63;:::i;:::-;14094:191;14351:50;14395:4;14388:5;14384:16;14377:5;14351:50;:::i;:::-;14414:63;14471:4;14466:3;14462:14;14448:12;14414:63;:::i;:::-;14295:192;14048:446;13938:556;;:::o;14500:287::-;14623:10;14644:100;14740:3;14732:6;14644:100;:::i;:::-;14776:4;14771:3;14767:14;14753:28;;14500:287;;;;:::o;14793:114::-;14873:5;14898:3;14889:12;;14793:114;;;;:::o;14913:143::-;15013:4;15045;15040:3;15036:14;15028:22;;14913:143;;;:::o;15110:917::-;15293:3;15316:112;15421:6;15416:3;15316:112;:::i;:::-;15309:119;;15452:86;15532:5;15452:86;:::i;:::-;15561:7;15592:1;15577:425;15602:6;15599:1;15596:13;15577:425;;;15672:70;15735:6;15726:7;15672:70;:::i;:::-;15762:117;15875:3;15860:13;15762:117;:::i;:::-;15755:124;;15902:90;15985:6;15902:90;:::i;:::-;15892:100;;15637:365;15624:1;15621;15617:9;15612:14;;15577:425;;;15581:14;16018:3;16011:10;;15298:729;;15110:917;;;;;:::o;16033:210::-;16158:11;16192:6;16187:3;16180:19;16232:4;16227:3;16223:14;16208:29;;16033:210;;;;:::o;16249:130::-;16346:4;16369:3;16361:11;;16249:130;;;:::o;16385:86::-;16420:7;16460:4;16453:5;16449:16;16438:27;;16385:86;;;:::o;16477:118::-;16548:22;16564:5;16548:22;:::i;:::-;16541:5;16538:33;16528:61;;16585:1;16582;16575:12;16528:61;16477:118;:::o;16601:135::-;16645:5;16683:6;16670:20;16661:29;;16699:31;16724:5;16699:31;:::i;:::-;16601:135;;;;:::o;16742:118::-;16792:5;16817:37;16850:2;16845:3;16841:12;16836:3;16817:37;:::i;:::-;16808:46;;16742:118;;;;:::o;16866:102::-;16939:22;16955:5;16939:22;:::i;:::-;16934:3;16927:35;16866:102;;:::o;17018:741::-;17159:4;17154:3;17150:14;17226:48;17268:4;17261:5;17257:16;17250:5;17226:48;:::i;:::-;17287:59;17340:4;17335:3;17331:14;17317:12;17287:59;:::i;:::-;17174:182;17418:50;17462:4;17455:5;17451:16;17444:5;17418:50;:::i;:::-;17481:63;17538:4;17533:3;17529:14;17515:12;17481:63;:::i;:::-;17366:188;17616:50;17660:4;17653:5;17649:16;17642:5;17616:50;:::i;:::-;17679:63;17736:4;17731:3;17727:14;17713:12;17679:63;:::i;:::-;17564:188;17128:631;17018:741;;:::o;17765:287::-;17888:10;17909:100;18005:3;17997:6;17909:100;:::i;:::-;18041:4;18036:3;18032:14;18018:28;;17765:287;;;;:::o;18058:114::-;18138:5;18163:3;18154:12;;18058:114;;;;:::o;18178:143::-;18278:4;18310;18305:3;18301:14;18293:22;;18178:143;;;:::o;18375:917::-;18558:3;18581:112;18686:6;18681:3;18581:112;:::i;:::-;18574:119;;18717:86;18797:5;18717:86;:::i;:::-;18826:7;18857:1;18842:425;18867:6;18864:1;18861:13;18842:425;;;18937:70;19000:6;18991:7;18937:70;:::i;:::-;19027:117;19140:3;19125:13;19027:117;:::i;:::-;19020:124;;19167:90;19250:6;19167:90;:::i;:::-;19157:100;;18902:365;18889:1;18886;18882:9;18877:14;;18842:425;;;18846:14;19283:3;19276:10;;18563:729;;18375:917;;;;;:::o;19298:1207::-;19753:4;19791:2;19780:9;19776:18;19768:26;;19840:9;19834:4;19830:20;19826:1;19815:9;19811:17;19804:47;19868:136;19999:4;19990:6;19868:136;:::i;:::-;19860:144;;20051:9;20045:4;20041:20;20036:2;20025:9;20021:18;20014:48;20079:172;20246:4;20237:6;20229;20079:172;:::i;:::-;20071:180;;20298:9;20292:4;20288:20;20283:2;20272:9;20268:18;20261:48;20326:172;20493:4;20484:6;20476;20326:172;:::i;:::-;20318:180;;19298:1207;;;;;;;;:::o;20511:117::-;20620:1;20617;20610:12;20634:117;20743:1;20740;20733:12;20757:117;20866:1;20863;20856:12;20880:395;20975:4;21029:11;21016:25;21129:1;21123:4;21119:12;21108:8;21092:14;21088:29;21084:48;21064:18;21060:73;21050:168;;21137:79;;:::i;:::-;21050:168;21249:18;21239:8;21235:33;21227:41;;20980:295;20880:395;;;;:::o;21281:724::-;21358:4;21364:6;21420:11;21407:25;21520:1;21514:4;21510:12;21499:8;21483:14;21479:29;21475:48;21455:18;21451:73;21441:168;;21528:79;;:::i;:::-;21441:168;21640:18;21630:8;21626:33;21618:41;;21692:4;21679:18;21669:28;;21720:18;21712:6;21709:30;21706:117;;;21742:79;;:::i;:::-;21706:117;21850:2;21844:4;21840:13;21832:21;;21907:4;21899:6;21895:17;21879:14;21875:38;21869:4;21865:49;21862:136;;;21917:79;;:::i;:::-;21862:136;21371:634;21281:724;;;;;:::o;22011:180::-;22059:77;22056:1;22049:88;22156:4;22153:1;22146:15;22180:4;22177:1;22170:15;22197:194;22237:4;22257:20;22275:1;22257:20;:::i;:::-;22252:25;;22291:20;22309:1;22291:20;:::i;:::-;22286:25;;22335:1;22332;22328:9;22320:17;;22359:1;22353:4;22350:11;22347:37;;;22364:18;;:::i;:::-;22347:37;22197:194;;;;:::o;22397:180::-;22445:77;22442:1;22435:88;22542:4;22539:1;22532:15;22566:4;22563:1;22556:15"},"methodIdentifiers":{"dataBridge()":"578855b2","getCurrentOracleData()":"bffe07bf","getValueCount()":"413a89b4","oracleData(uint256)":"aa4dea00","updateOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"61808010"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dataBridge\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"dataBridge\",\"outputs\":[{\"internalType\":\"contract ITellorDataBridge\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentOracleData\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct YoloTellorUser.OracleData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"oracleData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"updateOracleData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/YoloTellorUser.sol\":\"YoloTellorUser\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/YoloTellorUser.sol\":{\"keccak256\":\"0x0d052ed6857fbd274e7cbaaa1179aa64432fa5cb7028a22ebd530c36f23b2cc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85023e30ed87117f2778b64bff925df2fdfb17e7c647c601efc22a5bd1516480\",\"dweb:/ipfs/QmVpxwx1mzcGBvoBQGU2ZcQ1CDUdLA7z1eG3wDKGwupUTP\"]},\"contracts/interfaces/ITellorDataBridge.sol\":{\"keccak256\":\"0xe63280ed178d0751b9eba8be5c98a7c1587fcf728c8c2cb2f9d261fc4a650d0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a16c3e825c0ad4eb206765656249fb21f3fbe23eb6ad64dac036eb084f215d9\",\"dweb:/ipfs/QmV3de6xCgd864FEhjbiPyTUNhYgB4hPAvwEu8koYoZHwG\"]}},\"version\":1}"}},"contracts/interfaces/ITellorDataBridge.sol":{"ITellorDataBridge":{"abi":[{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"powerThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unbondingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"validatorTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"verifyOracleData","outputs":[],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"guardian()":"452a9320","powerThreshold()":"ba95ec27","unbondingPeriod()":"6cf6d675","validatorTimestamp()":"4f76f1ee","verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"5e0d3b0f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"guardian\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"powerThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unbondingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validatorTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"verifyOracleData\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/ITellorDataBridge.sol\":\"ITellorDataBridge\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/ITellorDataBridge.sol\":{\"keccak256\":\"0xe63280ed178d0751b9eba8be5c98a7c1587fcf728c8c2cb2f9d261fc4a650d0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a16c3e825c0ad4eb206765656249fb21f3fbe23eb6ad64dac036eb084f215d9\",\"dweb:/ipfs/QmV3de6xCgd864FEhjbiPyTUNhYgB4hPAvwEu8koYoZHwG\"]}},\"version\":1}"}},"contracts/testing/bridge/ECDSA.sol":{"ECDSA":{"abi":[{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220a7d372f3953d1c8a8d037e598383e4dd43055a0d4ba385226c2c76194018693464736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA7 0xD3 PUSH19 0xF3953D1C8A8D037E598383E4DD43055A0D4BA3 DUP6 0x22 PUSH13 0x2C76194018693464736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"342:8967:3:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"6080604052600080fdfea2646970667358221220a7d372f3953d1c8a8d037e598383e4dd43055a0d4ba385226c2c76194018693464736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA7 0xD3 PUSH19 0xF3953D1C8A8D037E598383E4DD43055A0D4BA3 DUP6 0x22 PUSH13 0x2C76194018693464736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"342:8967:3:-:0;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testing/bridge/ECDSA.sol\":\"ECDSA\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testing/bridge/ECDSA.sol\":{\"keccak256\":\"0xd3cf86f8b73deb230943786cb7c5036b2b602fc3f7dc43f6cd1c06511831b8eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cc6bb20c5239f6073c18604af3fc04c764984615a37d74b9cb24896465cb3c3\",\"dweb:/ipfs/QmPEMsTWcdXp6uAiPHiQGTCPCUsv161UvYZFGECJudFFoA\"]}},\"version\":1}"}},"contracts/testing/bridge/TellorDataBridge.sol":{"TellorDataBridge":{"abi":[{"inputs":[{"internalType":"address","name":"_guardian","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyInitialized","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[],"name":"InsufficientVotingPower","type":"error"},{"inputs":[],"name":"InvalidPowerThreshold","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"MalformedCurrentValidatorSet","type":"error"},{"inputs":[],"name":"NotDeployer","type":"error"},{"inputs":[],"name":"NotGuardian","type":"error"},{"inputs":[],"name":"StaleValidatorSet","type":"error"},{"inputs":[],"name":"SuppliedValidatorSetInvalid","type":"error"},{"inputs":[],"name":"ValidatorSetNotStale","type":"error"},{"inputs":[],"name":"ValidatorTimestampMustIncrease","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"_validatorSetHash","type":"bytes32"}],"name":"GuardianResetValidatorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"_validatorSetHash","type":"bytes32"}],"name":"ValidatorSetUpdated","type":"event"},{"inputs":[],"name":"MS_PER_SECOND","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"internalType":"bytes32","name":"_validatorSetCheckpoint","type":"bytes32"}],"name":"guardianResetValidatorSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"internalType":"uint256","name":"_unbondingPeriod","type":"uint256"},{"internalType":"bytes32","name":"_validatorSetCheckpoint","type":"bytes32"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastValidatorSetCheckpoint","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"powerThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unbondingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_newValidatorSetHash","type":"bytes32"},{"internalType":"uint64","name":"_newPowerThreshold","type":"uint64"},{"internalType":"uint256","name":"_newValidatorTimestamp","type":"uint256"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"updateValidatorSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"validatorTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"verifyOracleData","outputs":[],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_653":{"entryPoint":null,"id":653,"parameterSlots":1,"returnSlots":0},"abi_decode_t_address_fromMemory":{"entryPoint":274,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":297,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":228,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":196,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":191,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_address":{"entryPoint":248,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1199:5","statements":[{"body":{"nodeType":"YulBlock","src":"47:35:5","statements":[{"nodeType":"YulAssignment","src":"57:19:5","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"73:2:5","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"67:5:5"},"nodeType":"YulFunctionCall","src":"67:9:5"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"57:6:5"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"40:6:5","type":""}],"src":"7:75:5"},{"body":{"nodeType":"YulBlock","src":"177:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"194:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"197:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"187:6:5"},"nodeType":"YulFunctionCall","src":"187:12:5"},"nodeType":"YulExpressionStatement","src":"187:12:5"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"88:117:5"},{"body":{"nodeType":"YulBlock","src":"300:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:5"},"nodeType":"YulFunctionCall","src":"310:12:5"},"nodeType":"YulExpressionStatement","src":"310:12:5"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"211:117:5"},{"body":{"nodeType":"YulBlock","src":"379:81:5","statements":[{"nodeType":"YulAssignment","src":"389:65:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"404:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"411:42:5","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"400:3:5"},"nodeType":"YulFunctionCall","src":"400:54:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"389:7:5"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"361:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"371:7:5","type":""}],"src":"334:126:5"},{"body":{"nodeType":"YulBlock","src":"511:51:5","statements":[{"nodeType":"YulAssignment","src":"521:35:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"550:5:5"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"532:17:5"},"nodeType":"YulFunctionCall","src":"532:24:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"521:7:5"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"493:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"503:7:5","type":""}],"src":"466:96:5"},{"body":{"nodeType":"YulBlock","src":"611:79:5","statements":[{"body":{"nodeType":"YulBlock","src":"668:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"677:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"680:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"670:6:5"},"nodeType":"YulFunctionCall","src":"670:12:5"},"nodeType":"YulExpressionStatement","src":"670:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"634:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"659:5:5"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"641:17:5"},"nodeType":"YulFunctionCall","src":"641:24:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"631:2:5"},"nodeType":"YulFunctionCall","src":"631:35:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"624:6:5"},"nodeType":"YulFunctionCall","src":"624:43:5"},"nodeType":"YulIf","src":"621:63:5"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"604:5:5","type":""}],"src":"568:122:5"},{"body":{"nodeType":"YulBlock","src":"759:80:5","statements":[{"nodeType":"YulAssignment","src":"769:22:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"784:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"778:5:5"},"nodeType":"YulFunctionCall","src":"778:13:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"769:5:5"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"827:5:5"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"800:26:5"},"nodeType":"YulFunctionCall","src":"800:33:5"},"nodeType":"YulExpressionStatement","src":"800:33:5"}]},"name":"abi_decode_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"737:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"745:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"753:5:5","type":""}],"src":"696:143:5"},{"body":{"nodeType":"YulBlock","src":"922:274:5","statements":[{"body":{"nodeType":"YulBlock","src":"968:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"970:77:5"},"nodeType":"YulFunctionCall","src":"970:79:5"},"nodeType":"YulExpressionStatement","src":"970:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"943:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"952:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"939:3:5"},"nodeType":"YulFunctionCall","src":"939:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"964:2:5","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"935:3:5"},"nodeType":"YulFunctionCall","src":"935:32:5"},"nodeType":"YulIf","src":"932:119:5"},{"nodeType":"YulBlock","src":"1061:128:5","statements":[{"nodeType":"YulVariableDeclaration","src":"1076:15:5","value":{"kind":"number","nodeType":"YulLiteral","src":"1090:1:5","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1080:6:5","type":""}]},{"nodeType":"YulAssignment","src":"1105:74:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1151:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"1162:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1147:3:5"},"nodeType":"YulFunctionCall","src":"1147:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1171:7:5"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"1115:31:5"},"nodeType":"YulFunctionCall","src":"1115:64:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1105:6:5"}]}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"892:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"903:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"915:6:5","type":""}],"src":"845:351:5"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n","id":5,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060405162001adb38038062001adb833981810160405281019062000037919062000129565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200015b565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000f182620000c4565b9050919050565b6200010381620000e4565b81146200010f57600080fd5b50565b6000815190506200012381620000f8565b92915050565b600060208284031215620001425762000141620000bf565b5b6000620001528482850162000112565b91505092915050565b611970806200016b6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80635e0d3b0f116100715780635e0d3b0f146101695780636cf6d6751461018557806384330d4c146101a3578063af082a7d146101bf578063ba95ec27146101dd578063d5f39488146101fb576100b4565b8063158ef93e146100b9578063185bf52b146100d75780631a8bcd34146100f35780634394f6f314610111578063452a93201461012d5780634f76f1ee1461014b575b600080fd5b6100c1610219565b6040516100ce9190610d1b565b60405180910390f35b6100f160048036038101906100ec9190610dac565b61022c565b005b6100fb610397565b6040516101089190610e0e565b60405180910390f35b61012b60048036038101906101269190610e29565b61039d565b005b6101356104a8565b6040516101429190610ed1565b60405180910390f35b6101536104cc565b6040516101609190610e0e565b60405180910390f35b610183600480360381019061017e9190610fcb565b6104d2565b005b61018d610682565b60405161019a9190610e0e565b60405180910390f35b6101bd60048036038101906101b891906110bc565b610688565b005b6101c761084b565b6040516101d49190611187565b60405180910390f35b6101e5610851565b6040516101f29190610e0e565b60405180910390f35b610203610857565b6040516102109190610ed1565b60405180910390f35b600560149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102b1576040517fef6d0f0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546103e86004546102c49190611200565b426102cf9190611231565b1015610307576040517f1c36ced200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004548211610342576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260028190555081600481905550806001819055507fd7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb0983838360405161038a93929190611265565b60405180910390a1505050565b6103e881565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610424576040517f8b906c9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560149054906101000a900460ff161561046b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff0219169083151502179055508360028190555082600481905550816003819055508060018190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b818190508484905014610511576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015461054b60025460045487876040516020016105309291906113fb565b6040516020818303038152906040528051906020012061087d565b14610582576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b86600001358780602001906105bd919061142e565b80600001906105cc9190611456565b8980602001906105dc919061142e565b602001358a80602001906105f0919061142e565b604001358b8060200190610604919061142e565b606001358c8060200190610618919061142e565b608001356001548e604001358f8060200190610634919061142e565b60a001356040516020016106529b9a99989796959493929190611517565b60405160208183030381529060405280519060200120905061067a85858585856002546108d8565b505050505050565b60035481565b8181905084849050146106c7576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454851015610703576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008667ffffffffffffffff1603610747576040517fc3b70c8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848460405160200161075c9291906113fb565b6040516020818303038152906040528051906020012090506001546107866002546004548461087d565b146107bd576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006107d48867ffffffffffffffff16888b61087d565b90506107e686868686856002546108d8565b806001819055508767ffffffffffffffff16600281905550866004819055507fe304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e88888b604051610838939291906115f7565b60405180910390a1505050505050505050565b60015481565b60025481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f636865636b706f696e740000000000000000000000000000000000000000000060001b8484846040516020016108b9949392919061162e565b6040516020818303038152906040528051906020012090509392505050565b6003546103e86004546108eb9190611200565b426108f69190611231565b111561092e576040517fe5e5e46400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b87879050811015610a8f576000801b86868381811061095457610953611673565b5b9050606002016020013514801561098957506000801b86868381811061097d5761097c611673565b5b90506060020160400135145b80156109c2575060008686838181106109a5576109a4611673565b5b90506060020160000160208101906109bd91906116db565b60ff16145b610a7c57610a138888838181106109dc576109db611673565b5b90506040020160000160208101906109f49190611708565b85888885818110610a0857610a07611673565b5b905060600201610ad3565b610a49576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b878782818110610a5c57610a5b611673565b5b9050604002016020013582610a719190611735565b915082821015610a8f575b8080610a8790611769565b915050610932565b5081811015610aca576040517fcabeb65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b6000600283604051602001610ae891906117d2565b604051602081830303815290604052604051610b04919061185e565b602060405180830381855afa158015610b21573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610b44919061188a565b9250600080610b6f85856000016020810190610b6091906116db565b86602001358760400135610c0c565b509150915060006003811115610b8857610b876118b7565b5b816003811115610b9b57610b9a6118b7565b5b14610bd2576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115610c4c576000600385925092509250610cf6565b600060018888888860405160008152602001604052604051610c7194939291906118f5565b6020604051602081039080840390855afa158015610c93573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ce757600060016000801b93509350935050610cf6565b8060008060001b935093509350505b9450945094915050565b60008115159050919050565b610d1581610d00565b82525050565b6000602082019050610d306000830184610d0c565b92915050565b600080fd5b600080fd5b6000819050919050565b610d5381610d40565b8114610d5e57600080fd5b50565b600081359050610d7081610d4a565b92915050565b6000819050919050565b610d8981610d76565b8114610d9457600080fd5b50565b600081359050610da681610d80565b92915050565b600080600060608486031215610dc557610dc4610d36565b5b6000610dd386828701610d61565b9350506020610de486828701610d61565b9250506040610df586828701610d97565b9150509250925092565b610e0881610d40565b82525050565b6000602082019050610e236000830184610dff565b92915050565b60008060008060808587031215610e4357610e42610d36565b5b6000610e5187828801610d61565b9450506020610e6287828801610d61565b9350506040610e7387828801610d61565b9250506060610e8487828801610d97565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ebb82610e90565b9050919050565b610ecb81610eb0565b82525050565b6000602082019050610ee66000830184610ec2565b92915050565b600080fd5b600060608284031215610f0757610f06610eec565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f3557610f34610f10565b5b8235905067ffffffffffffffff811115610f5257610f51610f15565b5b602083019150836040820283011115610f6e57610f6d610f1a565b5b9250929050565b60008083601f840112610f8b57610f8a610f10565b5b8235905067ffffffffffffffff811115610fa857610fa7610f15565b5b602083019150836060820283011115610fc457610fc3610f1a565b5b9250929050565b600080600080600060608688031215610fe757610fe6610d36565b5b600086013567ffffffffffffffff81111561100557611004610d3b565b5b61101188828901610ef1565b955050602086013567ffffffffffffffff81111561103257611031610d3b565b5b61103e88828901610f1f565b9450945050604086013567ffffffffffffffff81111561106157611060610d3b565b5b61106d88828901610f75565b92509250509295509295909350565b600067ffffffffffffffff82169050919050565b6110998161107c565b81146110a457600080fd5b50565b6000813590506110b681611090565b92915050565b600080600080600080600060a0888a0312156110db576110da610d36565b5b60006110e98a828b01610d97565b97505060206110fa8a828b016110a7565b965050604061110b8a828b01610d61565b955050606088013567ffffffffffffffff81111561112c5761112b610d3b565b5b6111388a828b01610f1f565b9450945050608088013567ffffffffffffffff81111561115b5761115a610d3b565b5b6111678a828b01610f75565b925092505092959891949750929550565b61118181610d76565b82525050565b600060208201905061119c6000830184611178565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061120b82610d40565b915061121683610d40565b925082611226576112256111a2565b5b828204905092915050565b600061123c82610d40565b915061124783610d40565b925082820390508181111561125f5761125e6111d1565b5b92915050565b600060608201905061127a6000830186610dff565b6112876020830185610dff565b6112946040830184611178565b949350505050565b600082825260208201905092915050565b6000819050919050565b6112c081610eb0565b81146112cb57600080fd5b50565b6000813590506112dd816112b7565b92915050565b60006112f260208401846112ce565b905092915050565b61130381610eb0565b82525050565b60006113186020840184610d61565b905092915050565b61132981610d40565b82525050565b6040820161134060008301836112e3565b61134d60008501826112fa565b5061135b6020830183611309565b6113686020850182611320565b50505050565b600061137a838361132f565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006113aa838561129c565b93506113b5826112ad565b8060005b858110156113ee576113cb8284611386565b6113d5888261136e565b97506113e083611391565b9250506001810190506113b9565b5085925050509392505050565b6000602082019050818103600083015261141681848661139e565b90509392505050565b600080fd5b600080fd5b600080fd5b60008235600160c00383360303811261144a5761144961141f565b5b80830191505092915050565b600080833560016020038436030381126114735761147261141f565b5b80840192508235915067ffffffffffffffff82111561149557611494611424565b5b6020830192506001820236038313156114b1576114b0611429565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006114f683856114b9565b93506115038385846114ca565b61150c836114d9565b840190509392505050565b60006101408201905061152d600083018e611178565b61153a602083018d611178565b818103604083015261154d818b8d6114ea565b905061155c606083018a610dff565b6115696080830189610dff565b61157660a0830188610dff565b61158360c0830187610dff565b61159060e0830186611178565b61159e610100830185610dff565b6115ac610120830184610dff565b9c9b505050505050505050505050565b6000819050919050565b60006115e16115dc6115d78461107c565b6115bc565b610d40565b9050919050565b6115f1816115c6565b82525050565b600060608201905061160c60008301866115e8565b6116196020830185610dff565b6116266040830184611178565b949350505050565b60006080820190506116436000830187611178565b6116506020830186610dff565b61165d6040830185610dff565b61166a6060830184611178565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6116b8816116a2565b81146116c357600080fd5b50565b6000813590506116d5816116af565b92915050565b6000602082840312156116f1576116f0610d36565b5b60006116ff848285016116c6565b91505092915050565b60006020828403121561171e5761171d610d36565b5b600061172c848285016112ce565b91505092915050565b600061174082610d40565b915061174b83610d40565b9250828201905080821115611763576117626111d1565b5b92915050565b600061177482610d40565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117a6576117a56111d1565b5b600182019050919050565b6000819050919050565b6117cc6117c782610d76565b6117b1565b82525050565b60006117de82846117bb565b60208201915081905092915050565b600081519050919050565b600081905092915050565b60005b83811015611821578082015181840152602081019050611806565b60008484015250505050565b6000611838826117ed565b61184281856117f8565b9350611852818560208601611803565b80840191505092915050565b600061186a828461182d565b915081905092915050565b60008151905061188481610d80565b92915050565b6000602082840312156118a05761189f610d36565b5b60006118ae84828501611875565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6118ef816116a2565b82525050565b600060808201905061190a6000830187611178565b61191760208301866118e6565b6119246040830185611178565b6119316060830184611178565b9594505050505056fea264697066735822122048b3fd1d4f4bdee146eb2956e18719d2107695fb35d8948a79bf2a2bc5a5a4a464736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1ADB CODESIZE SUB DUP1 PUSH3 0x1ADB DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x129 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLER PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP PUSH3 0x15B JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xF1 DUP3 PUSH3 0xC4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x103 DUP2 PUSH3 0xE4 JUMP JUMPDEST DUP2 EQ PUSH3 0x10F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x123 DUP2 PUSH3 0xF8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x142 JUMPI PUSH3 0x141 PUSH3 0xBF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x152 DUP5 DUP3 DUP6 ADD PUSH3 0x112 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1970 DUP1 PUSH3 0x16B 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 0xB4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5E0D3B0F GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x5E0D3B0F EQ PUSH2 0x169 JUMPI DUP1 PUSH4 0x6CF6D675 EQ PUSH2 0x185 JUMPI DUP1 PUSH4 0x84330D4C EQ PUSH2 0x1A3 JUMPI DUP1 PUSH4 0xAF082A7D EQ PUSH2 0x1BF JUMPI DUP1 PUSH4 0xBA95EC27 EQ PUSH2 0x1DD JUMPI DUP1 PUSH4 0xD5F39488 EQ PUSH2 0x1FB JUMPI PUSH2 0xB4 JUMP JUMPDEST DUP1 PUSH4 0x158EF93E EQ PUSH2 0xB9 JUMPI DUP1 PUSH4 0x185BF52B EQ PUSH2 0xD7 JUMPI DUP1 PUSH4 0x1A8BCD34 EQ PUSH2 0xF3 JUMPI DUP1 PUSH4 0x4394F6F3 EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x452A9320 EQ PUSH2 0x12D JUMPI DUP1 PUSH4 0x4F76F1EE EQ PUSH2 0x14B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC1 PUSH2 0x219 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0xD1B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xEC SWAP2 SWAP1 PUSH2 0xDAC JUMP JUMPDEST PUSH2 0x22C JUMP JUMPDEST STOP JUMPDEST PUSH2 0xFB PUSH2 0x397 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x108 SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x12B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x126 SWAP2 SWAP1 PUSH2 0xE29 JUMP JUMPDEST PUSH2 0x39D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x135 PUSH2 0x4A8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x142 SWAP2 SWAP1 PUSH2 0xED1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x153 PUSH2 0x4CC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x160 SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x183 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17E SWAP2 SWAP1 PUSH2 0xFCB JUMP JUMPDEST PUSH2 0x4D2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x18D PUSH2 0x682 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1BD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x10BC JUMP JUMPDEST PUSH2 0x688 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C7 PUSH2 0x84B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D4 SWAP2 SWAP1 PUSH2 0x1187 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E5 PUSH2 0x851 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F2 SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x203 PUSH2 0x857 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x210 SWAP2 SWAP1 PUSH2 0xED1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2B1 JUMPI PUSH1 0x40 MLOAD PUSH32 0xEF6D0F0200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x2C4 SWAP2 SWAP1 PUSH2 0x1200 JUMP JUMPDEST TIMESTAMP PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0x1231 JUMP JUMPDEST LT ISZERO PUSH2 0x307 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1C36CED200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP3 GT PUSH2 0x342 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH32 0xD7067F3840022E90166B8566F9982288B89EC7479B8EB30FAD06290F18C8CB09 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x38A SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1265 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x3E8 DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x424 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8B906C9700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x46B JUMPI PUSH1 0x40 MLOAD PUSH32 0xDC149F000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x5 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x511 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x54B PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x530 SWAP3 SWAP2 SWAP1 PUSH2 0x13FB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x87D JUMP JUMPDEST EQ PUSH2 0x582 JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP7 PUSH1 0x0 ADD CALLDATALOAD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x5BD SWAP2 SWAP1 PUSH2 0x142E JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x5CC SWAP2 SWAP1 PUSH2 0x1456 JUMP JUMPDEST DUP10 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x5DC SWAP2 SWAP1 PUSH2 0x142E JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP11 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x5F0 SWAP2 SWAP1 PUSH2 0x142E JUMP JUMPDEST PUSH1 0x40 ADD CALLDATALOAD DUP12 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x604 SWAP2 SWAP1 PUSH2 0x142E JUMP JUMPDEST PUSH1 0x60 ADD CALLDATALOAD DUP13 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x618 SWAP2 SWAP1 PUSH2 0x142E JUMP JUMPDEST PUSH1 0x80 ADD CALLDATALOAD PUSH1 0x1 SLOAD DUP15 PUSH1 0x40 ADD CALLDATALOAD DUP16 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x634 SWAP2 SWAP1 PUSH2 0x142E JUMP JUMPDEST PUSH1 0xA0 ADD CALLDATALOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x652 SWAP12 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1517 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH2 0x67A DUP6 DUP6 DUP6 DUP6 DUP6 PUSH1 0x2 SLOAD PUSH2 0x8D8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x6C7 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0x703 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND SUB PUSH2 0x747 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC3B70C8800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x75C SWAP3 SWAP2 SWAP1 PUSH2 0x13FB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 SLOAD PUSH2 0x786 PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP5 PUSH2 0x87D JUMP JUMPDEST EQ PUSH2 0x7BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x7D4 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP9 DUP12 PUSH2 0x87D JUMP JUMPDEST SWAP1 POP PUSH2 0x7E6 DUP7 DUP7 DUP7 DUP7 DUP6 PUSH1 0x2 SLOAD PUSH2 0x8D8 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP8 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP7 PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH32 0xE304B71F81A1AAF6D714401DE28BA1EBDBB5FF9C5FEE59EF2A6EB984F9E8DA7E DUP9 DUP9 DUP12 PUSH1 0x40 MLOAD PUSH2 0x838 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15F7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x636865636B706F696E7400000000000000000000000000000000000000000000 PUSH1 0x0 SHL DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x8B9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x162E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x8EB SWAP2 SWAP1 PUSH2 0x1200 JUMP JUMPDEST TIMESTAMP PUSH2 0x8F6 SWAP2 SWAP1 PUSH2 0x1231 JUMP JUMPDEST GT ISZERO PUSH2 0x92E JUMPI PUSH1 0x40 MLOAD PUSH32 0xE5E5E46400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST DUP8 DUP8 SWAP1 POP DUP2 LT ISZERO PUSH2 0xA8F JUMPI PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x954 JUMPI PUSH2 0x953 PUSH2 0x1673 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x20 ADD CALLDATALOAD EQ DUP1 ISZERO PUSH2 0x989 JUMPI POP PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x97D JUMPI PUSH2 0x97C PUSH2 0x1673 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x40 ADD CALLDATALOAD EQ JUMPDEST DUP1 ISZERO PUSH2 0x9C2 JUMPI POP PUSH1 0x0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x9A5 JUMPI PUSH2 0x9A4 PUSH2 0x1673 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x9BD SWAP2 SWAP1 PUSH2 0x16DB JUMP JUMPDEST PUSH1 0xFF AND EQ JUMPDEST PUSH2 0xA7C JUMPI PUSH2 0xA13 DUP9 DUP9 DUP4 DUP2 DUP2 LT PUSH2 0x9DC JUMPI PUSH2 0x9DB PUSH2 0x1673 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x9F4 SWAP2 SWAP1 PUSH2 0x1708 JUMP JUMPDEST DUP6 DUP9 DUP9 DUP6 DUP2 DUP2 LT PUSH2 0xA08 JUMPI PUSH2 0xA07 PUSH2 0x1673 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH2 0xAD3 JUMP JUMPDEST PUSH2 0xA49 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP8 DUP8 DUP3 DUP2 DUP2 LT PUSH2 0xA5C JUMPI PUSH2 0xA5B PUSH2 0x1673 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x20 ADD CALLDATALOAD DUP3 PUSH2 0xA71 SWAP2 SWAP1 PUSH2 0x1735 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 LT ISZERO PUSH2 0xA8F JUMPI JUMPDEST DUP1 DUP1 PUSH2 0xA87 SWAP1 PUSH2 0x1769 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x932 JUMP JUMPDEST POP DUP2 DUP2 LT ISZERO PUSH2 0xACA JUMPI PUSH1 0x40 MLOAD PUSH32 0xCABEB65500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xAE8 SWAP2 SWAP1 PUSH2 0x17D2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xB04 SWAP2 SWAP1 PUSH2 0x185E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB21 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB44 SWAP2 SWAP1 PUSH2 0x188A JUMP JUMPDEST SWAP3 POP PUSH1 0x0 DUP1 PUSH2 0xB6F DUP6 DUP6 PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xB60 SWAP2 SWAP1 PUSH2 0x16DB JUMP JUMPDEST DUP7 PUSH1 0x20 ADD CALLDATALOAD DUP8 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0xC0C JUMP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB88 JUMPI PUSH2 0xB87 PUSH2 0x18B7 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB9B JUMPI PUSH2 0xB9A PUSH2 0x18B7 JUMP JUMPDEST JUMPDEST EQ PUSH2 0xBD2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP5 PUSH1 0x0 SHR GT ISZERO PUSH2 0xC4C JUMPI PUSH1 0x0 PUSH1 0x3 DUP6 SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0xCF6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xC71 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x18F5 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC93 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xCE7 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP1 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP PUSH2 0xCF6 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD15 DUP2 PUSH2 0xD00 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD30 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD0C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD53 DUP2 PUSH2 0xD40 JUMP JUMPDEST DUP2 EQ PUSH2 0xD5E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD70 DUP2 PUSH2 0xD4A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD89 DUP2 PUSH2 0xD76 JUMP JUMPDEST DUP2 EQ PUSH2 0xD94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xDA6 DUP2 PUSH2 0xD80 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xDC5 JUMPI PUSH2 0xDC4 PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xDD3 DUP7 DUP3 DUP8 ADD PUSH2 0xD61 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xDE4 DUP7 DUP3 DUP8 ADD PUSH2 0xD61 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xDF5 DUP7 DUP3 DUP8 ADD PUSH2 0xD97 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0xE08 DUP2 PUSH2 0xD40 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xE23 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDFF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xE43 JUMPI PUSH2 0xE42 PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE51 DUP8 DUP3 DUP9 ADD PUSH2 0xD61 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xE62 DUP8 DUP3 DUP9 ADD PUSH2 0xD61 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0xE73 DUP8 DUP3 DUP9 ADD PUSH2 0xD61 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0xE84 DUP8 DUP3 DUP9 ADD PUSH2 0xD97 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEBB DUP3 PUSH2 0xE90 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xECB DUP2 PUSH2 0xEB0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEE6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xEC2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF07 JUMPI PUSH2 0xF06 PUSH2 0xEEC JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF35 JUMPI PUSH2 0xF34 PUSH2 0xF10 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF52 JUMPI PUSH2 0xF51 PUSH2 0xF15 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xF6E JUMPI PUSH2 0xF6D PUSH2 0xF1A JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF8B JUMPI PUSH2 0xF8A PUSH2 0xF10 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFA8 JUMPI PUSH2 0xFA7 PUSH2 0xF15 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xFC4 JUMPI PUSH2 0xFC3 PUSH2 0xF1A JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0xFE7 JUMPI PUSH2 0xFE6 PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1005 JUMPI PUSH2 0x1004 PUSH2 0xD3B JUMP JUMPDEST JUMPDEST PUSH2 0x1011 DUP9 DUP3 DUP10 ADD PUSH2 0xEF1 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1032 JUMPI PUSH2 0x1031 PUSH2 0xD3B JUMP JUMPDEST JUMPDEST PUSH2 0x103E DUP9 DUP3 DUP10 ADD PUSH2 0xF1F JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1061 JUMPI PUSH2 0x1060 PUSH2 0xD3B JUMP JUMPDEST JUMPDEST PUSH2 0x106D DUP9 DUP3 DUP10 ADD PUSH2 0xF75 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1099 DUP2 PUSH2 0x107C JUMP JUMPDEST DUP2 EQ PUSH2 0x10A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x10B6 DUP2 PUSH2 0x1090 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x10DB JUMPI PUSH2 0x10DA PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10E9 DUP11 DUP3 DUP12 ADD PUSH2 0xD97 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x10FA DUP11 DUP3 DUP12 ADD PUSH2 0x10A7 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x110B DUP11 DUP3 DUP12 ADD PUSH2 0xD61 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x112C JUMPI PUSH2 0x112B PUSH2 0xD3B JUMP JUMPDEST JUMPDEST PUSH2 0x1138 DUP11 DUP3 DUP12 ADD PUSH2 0xF1F JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x115B JUMPI PUSH2 0x115A PUSH2 0xD3B JUMP JUMPDEST JUMPDEST PUSH2 0x1167 DUP11 DUP3 DUP12 ADD PUSH2 0xF75 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH2 0x1181 DUP2 PUSH2 0xD76 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x119C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1178 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x120B DUP3 PUSH2 0xD40 JUMP JUMPDEST SWAP2 POP PUSH2 0x1216 DUP4 PUSH2 0xD40 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1226 JUMPI PUSH2 0x1225 PUSH2 0x11A2 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x123C DUP3 PUSH2 0xD40 JUMP JUMPDEST SWAP2 POP PUSH2 0x1247 DUP4 PUSH2 0xD40 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x125F JUMPI PUSH2 0x125E PUSH2 0x11D1 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x127A PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1287 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1294 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1178 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12C0 DUP2 PUSH2 0xEB0 JUMP JUMPDEST DUP2 EQ PUSH2 0x12CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x12DD DUP2 PUSH2 0x12B7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12F2 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x12CE JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1303 DUP2 PUSH2 0xEB0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1318 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xD61 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1329 DUP2 PUSH2 0xD40 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0x1340 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x12E3 JUMP JUMPDEST PUSH2 0x134D PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x12FA JUMP JUMPDEST POP PUSH2 0x135B PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x1309 JUMP JUMPDEST PUSH2 0x1368 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x1320 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x137A DUP4 DUP4 PUSH2 0x132F JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13AA DUP4 DUP6 PUSH2 0x129C JUMP JUMPDEST SWAP4 POP PUSH2 0x13B5 DUP3 PUSH2 0x12AD JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x13EE JUMPI PUSH2 0x13CB DUP3 DUP5 PUSH2 0x1386 JUMP JUMPDEST PUSH2 0x13D5 DUP9 DUP3 PUSH2 0x136E JUMP JUMPDEST SWAP8 POP PUSH2 0x13E0 DUP4 PUSH2 0x1391 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x13B9 JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1416 DUP2 DUP5 DUP7 PUSH2 0x139E JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x144A JUMPI PUSH2 0x1449 PUSH2 0x141F JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x1473 JUMPI PUSH2 0x1472 PUSH2 0x141F JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1495 JUMPI PUSH2 0x1494 PUSH2 0x1424 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x14B1 JUMPI PUSH2 0x14B0 PUSH2 0x1429 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14F6 DUP4 DUP6 PUSH2 0x14B9 JUMP JUMPDEST SWAP4 POP PUSH2 0x1503 DUP4 DUP6 DUP5 PUSH2 0x14CA JUMP JUMPDEST PUSH2 0x150C DUP4 PUSH2 0x14D9 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP3 ADD SWAP1 POP PUSH2 0x152D PUSH1 0x0 DUP4 ADD DUP15 PUSH2 0x1178 JUMP JUMPDEST PUSH2 0x153A PUSH1 0x20 DUP4 ADD DUP14 PUSH2 0x1178 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x154D DUP2 DUP12 DUP14 PUSH2 0x14EA JUMP JUMPDEST SWAP1 POP PUSH2 0x155C PUSH1 0x60 DUP4 ADD DUP11 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1569 PUSH1 0x80 DUP4 ADD DUP10 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1576 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1583 PUSH1 0xC0 DUP4 ADD DUP8 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1590 PUSH1 0xE0 DUP4 ADD DUP7 PUSH2 0x1178 JUMP JUMPDEST PUSH2 0x159E PUSH2 0x100 DUP4 ADD DUP6 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x15AC PUSH2 0x120 DUP4 ADD DUP5 PUSH2 0xDFF JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15E1 PUSH2 0x15DC PUSH2 0x15D7 DUP5 PUSH2 0x107C JUMP JUMPDEST PUSH2 0x15BC JUMP JUMPDEST PUSH2 0xD40 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x15F1 DUP2 PUSH2 0x15C6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x160C PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x15E8 JUMP JUMPDEST PUSH2 0x1619 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1626 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1178 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1643 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1178 JUMP JUMPDEST PUSH2 0x1650 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x165D PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x166A PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1178 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16B8 DUP2 PUSH2 0x16A2 JUMP JUMPDEST DUP2 EQ PUSH2 0x16C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x16D5 DUP2 PUSH2 0x16AF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x16F1 JUMPI PUSH2 0x16F0 PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16FF DUP5 DUP3 DUP6 ADD PUSH2 0x16C6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x171E JUMPI PUSH2 0x171D PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x172C DUP5 DUP3 DUP6 ADD PUSH2 0x12CE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1740 DUP3 PUSH2 0xD40 JUMP JUMPDEST SWAP2 POP PUSH2 0x174B DUP4 PUSH2 0xD40 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x1763 JUMPI PUSH2 0x1762 PUSH2 0x11D1 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1774 DUP3 PUSH2 0xD40 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x17A6 JUMPI PUSH2 0x17A5 PUSH2 0x11D1 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x17CC PUSH2 0x17C7 DUP3 PUSH2 0xD76 JUMP JUMPDEST PUSH2 0x17B1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17DE DUP3 DUP5 PUSH2 0x17BB JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1821 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1806 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1838 DUP3 PUSH2 0x17ED JUMP JUMPDEST PUSH2 0x1842 DUP2 DUP6 PUSH2 0x17F8 JUMP JUMPDEST SWAP4 POP PUSH2 0x1852 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1803 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x186A DUP3 DUP5 PUSH2 0x182D JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1884 DUP2 PUSH2 0xD80 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x18A0 JUMPI PUSH2 0x189F PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x18AE DUP5 DUP3 DUP6 ADD PUSH2 0x1875 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x18EF DUP2 PUSH2 0x16A2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x190A PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1178 JUMP JUMPDEST PUSH2 0x1917 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x18E6 JUMP JUMPDEST PUSH2 0x1924 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1178 JUMP JUMPDEST PUSH2 0x1931 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1178 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BASEFEE 0xB3 REVERT SAR 0x4F 0x4B 0xDE 0xE1 CHAINID 0xEB 0x29 JUMP 0xE1 DUP8 NOT 0xD2 LT PUSH23 0x95FB35D8948A79BF2A2BC5A5A4A464736F6C6343000813 STOP CALLER ","sourceMap":"975:10978:4:-:0;;;2528:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2594:9;2583:8;;:20;;;;;;;;;;;;;;;;;;2624:10;2613:8;;:21;;;;;;;;;;;;;;;;;;2528:113;975:10978;;88:117:5;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:351::-;915:6;964:2;952:9;943:7;939:23;935:32;932:119;;;970:79;;:::i;:::-;932:119;1090:1;1115:64;1171:7;1162:6;1151:9;1147:22;1115:64;:::i;:::-;1105:74;;1061:128;845:351;;;;:::o;975:10978:4:-;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@MS_PER_SECOND_599":{"entryPoint":919,"id":599,"parameterSlots":0,"returnSlots":0},"@_checkValidatorSignatures_1050":{"entryPoint":2264,"id":1050,"parameterSlots":6,"returnSlots":0},"@_domainSeparateValidatorSetHash_1073":{"entryPoint":2173,"id":1073,"parameterSlots":3,"returnSlots":1},"@_verifySig_1124":{"entryPoint":2771,"id":1124,"parameterSlots":3,"returnSlots":1},"@deployer_592":{"entryPoint":2135,"id":592,"parameterSlots":0,"returnSlots":0},"@guardianResetValidatorSet_761":{"entryPoint":556,"id":761,"parameterSlots":3,"returnSlots":0},"@guardian_577":{"entryPoint":1192,"id":577,"parameterSlots":0,"returnSlots":0},"@init_701":{"entryPoint":925,"id":701,"parameterSlots":4,"returnSlots":0},"@initialized_595":{"entryPoint":537,"id":595,"parameterSlots":0,"returnSlots":0},"@lastValidatorSetCheckpoint_580":{"entryPoint":2123,"id":580,"parameterSlots":0,"returnSlots":0},"@powerThreshold_583":{"entryPoint":2129,"id":583,"parameterSlots":0,"returnSlots":0},"@tryRecover_438":{"entryPoint":3084,"id":438,"parameterSlots":4,"returnSlots":3},"@unbondingPeriod_586":{"entryPoint":1666,"id":586,"parameterSlots":0,"returnSlots":0},"@updateValidatorSet_860":{"entryPoint":1672,"id":860,"parameterSlots":7,"returnSlots":0},"@validatorTimestamp_589":{"entryPoint":1228,"id":589,"parameterSlots":0,"returnSlots":0},"@verifyOracleData_942":{"entryPoint":1234,"id":942,"parameterSlots":5,"returnSlots":0},"abi_decode_t_address":{"entryPoint":4814,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":3957,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":3871,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes32":{"entryPoint":3479,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":6261,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_OracleAttestationData_$547_calldata_ptr":{"entryPoint":3825,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":3425,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint64":{"entryPoint":4263,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8":{"entryPoint":5830,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":5896,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":6282,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_uint64t_uint256t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4284,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_struct$_OracleAttestationData_$547_calldata_ptrt_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4043,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256t_uint256t_bytes32":{"entryPoint":3500,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint256t_uint256t_uint256t_bytes32":{"entryPoint":3625,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint8":{"entryPoint":5851,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_struct$_Validator_$572_calldata_ptr_to_t_struct$_Validator_$572_memory_ptr":{"entryPoint":4974,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address":{"entryPoint":4858,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":3778,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$572_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":5022,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":3340,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":4472,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack":{"entryPoint":6075,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":5354,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":6189,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Validator_$572_calldata_ptr_to_t_struct$_Validator_$572_memory_ptr":{"entryPoint":4911,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":4896,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":3583,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint256_fromStack":{"entryPoint":5608,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8_fromStack":{"entryPoint":6374,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed":{"entryPoint":6098,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":6238,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":3793,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_struct$_Validator_$572_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":5115,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":3355,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":4487,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes_calldata_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_bytes32_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":5399,"id":null,"parameterSlots":12,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":5678,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":6389,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":3598,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":4709,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint64_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":5623,"id":null,"parameterSlots":4,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":5206,"id":null,"parameterSlots":2,"returnSlots":2},"access_calldata_tail_t_struct$_ReportData_$560_calldata_ptr":{"entryPoint":5166,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4781,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":6125,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":5009,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$572_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":4764,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":5305,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":6136,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_address":{"entryPoint":4835,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_struct$_Validator_$572_calldata_ptr":{"entryPoint":4998,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint256":{"entryPoint":4873,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":5941,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":4608,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":4657,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":3760,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":3328,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":3446,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":3728,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":3392,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint64":{"entryPoint":4220,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":5794,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint64_to_t_uint256":{"entryPoint":5574,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":5322,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":6147,"id":null,"parameterSlots":3,"returnSlots":0},"identity":{"entryPoint":5564,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint256":{"entryPoint":5993,"id":null,"parameterSlots":1,"returnSlots":1},"leftAlign_t_bytes32":{"entryPoint":6065,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":4561,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":4514,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":6327,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":5747,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":3861,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":3856,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a":{"entryPoint":5156,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d":{"entryPoint":3820,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad":{"entryPoint":5151,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":3866,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e":{"entryPoint":5161,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":3387,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":3382,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":5337,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_address":{"entryPoint":4791,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":3456,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":3402,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint64":{"entryPoint":4240,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":5807,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:24112:5","statements":[{"body":{"nodeType":"YulBlock","src":"49:48:5","statements":[{"nodeType":"YulAssignment","src":"59:32:5","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"84:5:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"77:6:5"},"nodeType":"YulFunctionCall","src":"77:13:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"70:6:5"},"nodeType":"YulFunctionCall","src":"70:21:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"59:7:5"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"41:7:5","type":""}],"src":"7:90:5"},{"body":{"nodeType":"YulBlock","src":"162:50:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"179:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"199:5:5"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"184:14:5"},"nodeType":"YulFunctionCall","src":"184:21:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"172:6:5"},"nodeType":"YulFunctionCall","src":"172:34:5"},"nodeType":"YulExpressionStatement","src":"172:34:5"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"150:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"157:3:5","type":""}],"src":"103:109:5"},{"body":{"nodeType":"YulBlock","src":"310:118:5","statements":[{"nodeType":"YulAssignment","src":"320:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"332:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"343:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"328:3:5"},"nodeType":"YulFunctionCall","src":"328:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"320:4:5"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"394:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"407:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"418:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"403:3:5"},"nodeType":"YulFunctionCall","src":"403:17:5"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"356:37:5"},"nodeType":"YulFunctionCall","src":"356:65:5"},"nodeType":"YulExpressionStatement","src":"356:65:5"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"282:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"294:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"305:4:5","type":""}],"src":"218:210:5"},{"body":{"nodeType":"YulBlock","src":"474:35:5","statements":[{"nodeType":"YulAssignment","src":"484:19:5","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"500:2:5","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"494:5:5"},"nodeType":"YulFunctionCall","src":"494:9:5"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"484:6:5"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"467:6:5","type":""}],"src":"434:75:5"},{"body":{"nodeType":"YulBlock","src":"604:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"621:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"624:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"614:6:5"},"nodeType":"YulFunctionCall","src":"614:12:5"},"nodeType":"YulExpressionStatement","src":"614:12:5"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"515:117:5"},{"body":{"nodeType":"YulBlock","src":"727:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"744:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"747:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"737:6:5"},"nodeType":"YulFunctionCall","src":"737:12:5"},"nodeType":"YulExpressionStatement","src":"737:12:5"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"638:117:5"},{"body":{"nodeType":"YulBlock","src":"806:32:5","statements":[{"nodeType":"YulAssignment","src":"816:16:5","value":{"name":"value","nodeType":"YulIdentifier","src":"827:5:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"816:7:5"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"788:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"798:7:5","type":""}],"src":"761:77:5"},{"body":{"nodeType":"YulBlock","src":"887:79:5","statements":[{"body":{"nodeType":"YulBlock","src":"944:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"953:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"956:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"946:6:5"},"nodeType":"YulFunctionCall","src":"946:12:5"},"nodeType":"YulExpressionStatement","src":"946:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"910:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"935:5:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"917:17:5"},"nodeType":"YulFunctionCall","src":"917:24:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"907:2:5"},"nodeType":"YulFunctionCall","src":"907:35:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"900:6:5"},"nodeType":"YulFunctionCall","src":"900:43:5"},"nodeType":"YulIf","src":"897:63:5"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"880:5:5","type":""}],"src":"844:122:5"},{"body":{"nodeType":"YulBlock","src":"1024:87:5","statements":[{"nodeType":"YulAssignment","src":"1034:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1056:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1043:12:5"},"nodeType":"YulFunctionCall","src":"1043:20:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1034:5:5"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1099:5:5"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1072:26:5"},"nodeType":"YulFunctionCall","src":"1072:33:5"},"nodeType":"YulExpressionStatement","src":"1072:33:5"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1002:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"1010:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1018:5:5","type":""}],"src":"972:139:5"},{"body":{"nodeType":"YulBlock","src":"1162:32:5","statements":[{"nodeType":"YulAssignment","src":"1172:16:5","value":{"name":"value","nodeType":"YulIdentifier","src":"1183:5:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1172:7:5"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1144:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1154:7:5","type":""}],"src":"1117:77:5"},{"body":{"nodeType":"YulBlock","src":"1243:79:5","statements":[{"body":{"nodeType":"YulBlock","src":"1300:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1309:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1312:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1302:6:5"},"nodeType":"YulFunctionCall","src":"1302:12:5"},"nodeType":"YulExpressionStatement","src":"1302:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1266:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1291:5:5"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"1273:17:5"},"nodeType":"YulFunctionCall","src":"1273:24:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1263:2:5"},"nodeType":"YulFunctionCall","src":"1263:35:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1256:6:5"},"nodeType":"YulFunctionCall","src":"1256:43:5"},"nodeType":"YulIf","src":"1253:63:5"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1236:5:5","type":""}],"src":"1200:122:5"},{"body":{"nodeType":"YulBlock","src":"1380:87:5","statements":[{"nodeType":"YulAssignment","src":"1390:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1412:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1399:12:5"},"nodeType":"YulFunctionCall","src":"1399:20:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1390:5:5"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1455:5:5"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"1428:26:5"},"nodeType":"YulFunctionCall","src":"1428:33:5"},"nodeType":"YulExpressionStatement","src":"1428:33:5"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1358:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"1366:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1374:5:5","type":""}],"src":"1328:139:5"},{"body":{"nodeType":"YulBlock","src":"1573:519:5","statements":[{"body":{"nodeType":"YulBlock","src":"1619:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1621:77:5"},"nodeType":"YulFunctionCall","src":"1621:79:5"},"nodeType":"YulExpressionStatement","src":"1621:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1594:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"1603:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1590:3:5"},"nodeType":"YulFunctionCall","src":"1590:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"1615:2:5","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1586:3:5"},"nodeType":"YulFunctionCall","src":"1586:32:5"},"nodeType":"YulIf","src":"1583:119:5"},{"nodeType":"YulBlock","src":"1712:117:5","statements":[{"nodeType":"YulVariableDeclaration","src":"1727:15:5","value":{"kind":"number","nodeType":"YulLiteral","src":"1741:1:5","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1731:6:5","type":""}]},{"nodeType":"YulAssignment","src":"1756:63:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1791:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"1802:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1787:3:5"},"nodeType":"YulFunctionCall","src":"1787:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1811:7:5"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1766:20:5"},"nodeType":"YulFunctionCall","src":"1766:53:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1756:6:5"}]}]},{"nodeType":"YulBlock","src":"1839:118:5","statements":[{"nodeType":"YulVariableDeclaration","src":"1854:16:5","value":{"kind":"number","nodeType":"YulLiteral","src":"1868:2:5","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1858:6:5","type":""}]},{"nodeType":"YulAssignment","src":"1884:63:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1919:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"1930:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1915:3:5"},"nodeType":"YulFunctionCall","src":"1915:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1939:7:5"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1894:20:5"},"nodeType":"YulFunctionCall","src":"1894:53:5"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1884:6:5"}]}]},{"nodeType":"YulBlock","src":"1967:118:5","statements":[{"nodeType":"YulVariableDeclaration","src":"1982:16:5","value":{"kind":"number","nodeType":"YulLiteral","src":"1996:2:5","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1986:6:5","type":""}]},{"nodeType":"YulAssignment","src":"2012:63:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2047:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"2058:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2043:3:5"},"nodeType":"YulFunctionCall","src":"2043:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2067:7:5"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"2022:20:5"},"nodeType":"YulFunctionCall","src":"2022:53:5"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2012:6:5"}]}]}]},"name":"abi_decode_tuple_t_uint256t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1527:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1538:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1550:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1558:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1566:6:5","type":""}],"src":"1473:619:5"},{"body":{"nodeType":"YulBlock","src":"2163:53:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2180:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2203:5:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"2185:17:5"},"nodeType":"YulFunctionCall","src":"2185:24:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2173:6:5"},"nodeType":"YulFunctionCall","src":"2173:37:5"},"nodeType":"YulExpressionStatement","src":"2173:37:5"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2151:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2158:3:5","type":""}],"src":"2098:118:5"},{"body":{"nodeType":"YulBlock","src":"2320:124:5","statements":[{"nodeType":"YulAssignment","src":"2330:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2342:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"2353:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2338:3:5"},"nodeType":"YulFunctionCall","src":"2338:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2330:4:5"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2410:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2423:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"2434:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2419:3:5"},"nodeType":"YulFunctionCall","src":"2419:17:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"2366:43:5"},"nodeType":"YulFunctionCall","src":"2366:71:5"},"nodeType":"YulExpressionStatement","src":"2366:71:5"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2292:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2304:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2315:4:5","type":""}],"src":"2222:222:5"},{"body":{"nodeType":"YulBlock","src":"2567:648:5","statements":[{"body":{"nodeType":"YulBlock","src":"2614:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2616:77:5"},"nodeType":"YulFunctionCall","src":"2616:79:5"},"nodeType":"YulExpressionStatement","src":"2616:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2588:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"2597:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2584:3:5"},"nodeType":"YulFunctionCall","src":"2584:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"2609:3:5","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2580:3:5"},"nodeType":"YulFunctionCall","src":"2580:33:5"},"nodeType":"YulIf","src":"2577:120:5"},{"nodeType":"YulBlock","src":"2707:117:5","statements":[{"nodeType":"YulVariableDeclaration","src":"2722:15:5","value":{"kind":"number","nodeType":"YulLiteral","src":"2736:1:5","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2726:6:5","type":""}]},{"nodeType":"YulAssignment","src":"2751:63:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2786:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"2797:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2782:3:5"},"nodeType":"YulFunctionCall","src":"2782:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2806:7:5"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2761:20:5"},"nodeType":"YulFunctionCall","src":"2761:53:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2751:6:5"}]}]},{"nodeType":"YulBlock","src":"2834:118:5","statements":[{"nodeType":"YulVariableDeclaration","src":"2849:16:5","value":{"kind":"number","nodeType":"YulLiteral","src":"2863:2:5","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2853:6:5","type":""}]},{"nodeType":"YulAssignment","src":"2879:63:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2914:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"2925:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2910:3:5"},"nodeType":"YulFunctionCall","src":"2910:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2934:7:5"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2889:20:5"},"nodeType":"YulFunctionCall","src":"2889:53:5"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2879:6:5"}]}]},{"nodeType":"YulBlock","src":"2962:118:5","statements":[{"nodeType":"YulVariableDeclaration","src":"2977:16:5","value":{"kind":"number","nodeType":"YulLiteral","src":"2991:2:5","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2981:6:5","type":""}]},{"nodeType":"YulAssignment","src":"3007:63:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3042:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"3053:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3038:3:5"},"nodeType":"YulFunctionCall","src":"3038:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3062:7:5"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"3017:20:5"},"nodeType":"YulFunctionCall","src":"3017:53:5"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3007:6:5"}]}]},{"nodeType":"YulBlock","src":"3090:118:5","statements":[{"nodeType":"YulVariableDeclaration","src":"3105:16:5","value":{"kind":"number","nodeType":"YulLiteral","src":"3119:2:5","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3109:6:5","type":""}]},{"nodeType":"YulAssignment","src":"3135:63:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3170:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"3181:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3166:3:5"},"nodeType":"YulFunctionCall","src":"3166:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3190:7:5"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"3145:20:5"},"nodeType":"YulFunctionCall","src":"3145:53:5"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"3135:6:5"}]}]}]},"name":"abi_decode_tuple_t_uint256t_uint256t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2513:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2524:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2536:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2544:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2552:6:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2560:6:5","type":""}],"src":"2450:765:5"},{"body":{"nodeType":"YulBlock","src":"3266:81:5","statements":[{"nodeType":"YulAssignment","src":"3276:65:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3291:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"3298:42:5","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3287:3:5"},"nodeType":"YulFunctionCall","src":"3287:54:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3276:7:5"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3248:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3258:7:5","type":""}],"src":"3221:126:5"},{"body":{"nodeType":"YulBlock","src":"3398:51:5","statements":[{"nodeType":"YulAssignment","src":"3408:35:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3437:5:5"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"3419:17:5"},"nodeType":"YulFunctionCall","src":"3419:24:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3408:7:5"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3380:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3390:7:5","type":""}],"src":"3353:96:5"},{"body":{"nodeType":"YulBlock","src":"3520:53:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3537:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3560:5:5"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"3542:17:5"},"nodeType":"YulFunctionCall","src":"3542:24:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3530:6:5"},"nodeType":"YulFunctionCall","src":"3530:37:5"},"nodeType":"YulExpressionStatement","src":"3530:37:5"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3508:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3515:3:5","type":""}],"src":"3455:118:5"},{"body":{"nodeType":"YulBlock","src":"3677:124:5","statements":[{"nodeType":"YulAssignment","src":"3687:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3699:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"3710:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3695:3:5"},"nodeType":"YulFunctionCall","src":"3695:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3687:4:5"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3767:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3780:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"3791:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3776:3:5"},"nodeType":"YulFunctionCall","src":"3776:17:5"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"3723:43:5"},"nodeType":"YulFunctionCall","src":"3723:71:5"},"nodeType":"YulExpressionStatement","src":"3723:71:5"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3649:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3661:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3672:4:5","type":""}],"src":"3579:222:5"},{"body":{"nodeType":"YulBlock","src":"3896:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3913:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3916:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3906:6:5"},"nodeType":"YulFunctionCall","src":"3906:12:5"},"nodeType":"YulExpressionStatement","src":"3906:12:5"}]},"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulFunctionDefinition","src":"3807:117:5"},{"body":{"nodeType":"YulBlock","src":"4058:152:5","statements":[{"body":{"nodeType":"YulBlock","src":"4097:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulIdentifier","src":"4099:77:5"},"nodeType":"YulFunctionCall","src":"4099:79:5"},"nodeType":"YulExpressionStatement","src":"4099:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"4079:3:5"},{"name":"offset","nodeType":"YulIdentifier","src":"4084:6:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4075:3:5"},"nodeType":"YulFunctionCall","src":"4075:16:5"},{"kind":"number","nodeType":"YulLiteral","src":"4093:2:5","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4071:3:5"},"nodeType":"YulFunctionCall","src":"4071:25:5"},"nodeType":"YulIf","src":"4068:112:5"},{"nodeType":"YulAssignment","src":"4189:15:5","value":{"name":"offset","nodeType":"YulIdentifier","src":"4198:6:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"4189:5:5"}]}]},"name":"abi_decode_t_struct$_OracleAttestationData_$547_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4036:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"4044:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"4052:5:5","type":""}],"src":"3966:244:5"},{"body":{"nodeType":"YulBlock","src":"4305:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4322:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4325:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4315:6:5"},"nodeType":"YulFunctionCall","src":"4315:12:5"},"nodeType":"YulExpressionStatement","src":"4315:12:5"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"4216:117:5"},{"body":{"nodeType":"YulBlock","src":"4428:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4445:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4448:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4438:6:5"},"nodeType":"YulFunctionCall","src":"4438:12:5"},"nodeType":"YulExpressionStatement","src":"4438:12:5"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"4339:117:5"},{"body":{"nodeType":"YulBlock","src":"4551:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4568:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4571:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4561:6:5"},"nodeType":"YulFunctionCall","src":"4561:12:5"},"nodeType":"YulExpressionStatement","src":"4561:12:5"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"4462:117:5"},{"body":{"nodeType":"YulBlock","src":"4729:478:5","statements":[{"body":{"nodeType":"YulBlock","src":"4778:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"4780:77:5"},"nodeType":"YulFunctionCall","src":"4780:79:5"},"nodeType":"YulExpressionStatement","src":"4780:79:5"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4757:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"4765:4:5","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4753:3:5"},"nodeType":"YulFunctionCall","src":"4753:17:5"},{"name":"end","nodeType":"YulIdentifier","src":"4772:3:5"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4749:3:5"},"nodeType":"YulFunctionCall","src":"4749:27:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4742:6:5"},"nodeType":"YulFunctionCall","src":"4742:35:5"},"nodeType":"YulIf","src":"4739:122:5"},{"nodeType":"YulAssignment","src":"4870:30:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4893:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4880:12:5"},"nodeType":"YulFunctionCall","src":"4880:20:5"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4870:6:5"}]},{"body":{"nodeType":"YulBlock","src":"4943:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"4945:77:5"},"nodeType":"YulFunctionCall","src":"4945:79:5"},"nodeType":"YulExpressionStatement","src":"4945:79:5"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4915:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"4923:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4912:2:5"},"nodeType":"YulFunctionCall","src":"4912:30:5"},"nodeType":"YulIf","src":"4909:117:5"},{"nodeType":"YulAssignment","src":"5035:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5051:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"5059:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5047:3:5"},"nodeType":"YulFunctionCall","src":"5047:17:5"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5035:8:5"}]},{"body":{"nodeType":"YulBlock","src":"5118:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"5120:77:5"},"nodeType":"YulFunctionCall","src":"5120:79:5"},"nodeType":"YulExpressionStatement","src":"5120:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5083:8:5"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5097:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"5105:4:5","type":"","value":"0x40"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"5093:3:5"},"nodeType":"YulFunctionCall","src":"5093:17:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5079:3:5"},"nodeType":"YulFunctionCall","src":"5079:32:5"},{"name":"end","nodeType":"YulIdentifier","src":"5113:3:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5076:2:5"},"nodeType":"YulFunctionCall","src":"5076:41:5"},"nodeType":"YulIf","src":"5073:128:5"}]},"name":"abi_decode_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4696:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"4704:3:5","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"4712:8:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"4722:6:5","type":""}],"src":"4611:596:5"},{"body":{"nodeType":"YulBlock","src":"5357:478:5","statements":[{"body":{"nodeType":"YulBlock","src":"5406:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"5408:77:5"},"nodeType":"YulFunctionCall","src":"5408:79:5"},"nodeType":"YulExpressionStatement","src":"5408:79:5"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5385:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"5393:4:5","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5381:3:5"},"nodeType":"YulFunctionCall","src":"5381:17:5"},{"name":"end","nodeType":"YulIdentifier","src":"5400:3:5"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5377:3:5"},"nodeType":"YulFunctionCall","src":"5377:27:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5370:6:5"},"nodeType":"YulFunctionCall","src":"5370:35:5"},"nodeType":"YulIf","src":"5367:122:5"},{"nodeType":"YulAssignment","src":"5498:30:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5521:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5508:12:5"},"nodeType":"YulFunctionCall","src":"5508:20:5"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5498:6:5"}]},{"body":{"nodeType":"YulBlock","src":"5571:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"5573:77:5"},"nodeType":"YulFunctionCall","src":"5573:79:5"},"nodeType":"YulExpressionStatement","src":"5573:79:5"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5543:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"5551:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5540:2:5"},"nodeType":"YulFunctionCall","src":"5540:30:5"},"nodeType":"YulIf","src":"5537:117:5"},{"nodeType":"YulAssignment","src":"5663:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5679:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"5687:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5675:3:5"},"nodeType":"YulFunctionCall","src":"5675:17:5"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5663:8:5"}]},{"body":{"nodeType":"YulBlock","src":"5746:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"5748:77:5"},"nodeType":"YulFunctionCall","src":"5748:79:5"},"nodeType":"YulExpressionStatement","src":"5748:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5711:8:5"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5725:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"5733:4:5","type":"","value":"0x60"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"5721:3:5"},"nodeType":"YulFunctionCall","src":"5721:17:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5707:3:5"},"nodeType":"YulFunctionCall","src":"5707:32:5"},{"name":"end","nodeType":"YulIdentifier","src":"5741:3:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5704:2:5"},"nodeType":"YulFunctionCall","src":"5704:41:5"},"nodeType":"YulIf","src":"5701:128:5"}]},"name":"abi_decode_t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5324:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"5332:3:5","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"5340:8:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"5350:6:5","type":""}],"src":"5239:596:5"},{"body":{"nodeType":"YulBlock","src":"6107:1165:5","statements":[{"body":{"nodeType":"YulBlock","src":"6153:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"6155:77:5"},"nodeType":"YulFunctionCall","src":"6155:79:5"},"nodeType":"YulExpressionStatement","src":"6155:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6128:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"6137:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6124:3:5"},"nodeType":"YulFunctionCall","src":"6124:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"6149:2:5","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6120:3:5"},"nodeType":"YulFunctionCall","src":"6120:32:5"},"nodeType":"YulIf","src":"6117:119:5"},{"nodeType":"YulBlock","src":"6246:317:5","statements":[{"nodeType":"YulVariableDeclaration","src":"6261:45:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6292:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"6303:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6288:3:5"},"nodeType":"YulFunctionCall","src":"6288:17:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6275:12:5"},"nodeType":"YulFunctionCall","src":"6275:31:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6265:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"6353:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"6355:77:5"},"nodeType":"YulFunctionCall","src":"6355:79:5"},"nodeType":"YulExpressionStatement","src":"6355:79:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6325:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"6333:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6322:2:5"},"nodeType":"YulFunctionCall","src":"6322:30:5"},"nodeType":"YulIf","src":"6319:117:5"},{"nodeType":"YulAssignment","src":"6450:103:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6525:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"6536:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6521:3:5"},"nodeType":"YulFunctionCall","src":"6521:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6545:7:5"}],"functionName":{"name":"abi_decode_t_struct$_OracleAttestationData_$547_calldata_ptr","nodeType":"YulIdentifier","src":"6460:60:5"},"nodeType":"YulFunctionCall","src":"6460:93:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6450:6:5"}]}]},{"nodeType":"YulBlock","src":"6573:341:5","statements":[{"nodeType":"YulVariableDeclaration","src":"6588:46:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6619:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"6630:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6615:3:5"},"nodeType":"YulFunctionCall","src":"6615:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6602:12:5"},"nodeType":"YulFunctionCall","src":"6602:32:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6592:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"6681:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"6683:77:5"},"nodeType":"YulFunctionCall","src":"6683:79:5"},"nodeType":"YulExpressionStatement","src":"6683:79:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6653:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"6661:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6650:2:5"},"nodeType":"YulFunctionCall","src":"6650:30:5"},"nodeType":"YulIf","src":"6647:117:5"},{"nodeType":"YulAssignment","src":"6778:126:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6876:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"6887:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6872:3:5"},"nodeType":"YulFunctionCall","src":"6872:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6896:7:5"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"6796:75:5"},"nodeType":"YulFunctionCall","src":"6796:108:5"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6778:6:5"},{"name":"value2","nodeType":"YulIdentifier","src":"6786:6:5"}]}]},{"nodeType":"YulBlock","src":"6924:341:5","statements":[{"nodeType":"YulVariableDeclaration","src":"6939:46:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6970:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"6981:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6966:3:5"},"nodeType":"YulFunctionCall","src":"6966:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6953:12:5"},"nodeType":"YulFunctionCall","src":"6953:32:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6943:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"7032:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"7034:77:5"},"nodeType":"YulFunctionCall","src":"7034:79:5"},"nodeType":"YulExpressionStatement","src":"7034:79:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7004:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"7012:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7001:2:5"},"nodeType":"YulFunctionCall","src":"7001:30:5"},"nodeType":"YulIf","src":"6998:117:5"},{"nodeType":"YulAssignment","src":"7129:126:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7227:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"7238:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7223:3:5"},"nodeType":"YulFunctionCall","src":"7223:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7247:7:5"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"7147:75:5"},"nodeType":"YulFunctionCall","src":"7147:108:5"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"7129:6:5"},{"name":"value4","nodeType":"YulIdentifier","src":"7137:6:5"}]}]}]},"name":"abi_decode_tuple_t_struct$_OracleAttestationData_$547_calldata_ptrt_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6045:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6056:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6068:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6076:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"6084:6:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"6092:6:5","type":""},{"name":"value4","nodeType":"YulTypedName","src":"6100:6:5","type":""}],"src":"5841:1431:5"},{"body":{"nodeType":"YulBlock","src":"7322:57:5","statements":[{"nodeType":"YulAssignment","src":"7332:41:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7347:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"7354:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7343:3:5"},"nodeType":"YulFunctionCall","src":"7343:30:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"7332:7:5"}]}]},"name":"cleanup_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7304:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"7314:7:5","type":""}],"src":"7278:101:5"},{"body":{"nodeType":"YulBlock","src":"7427:78:5","statements":[{"body":{"nodeType":"YulBlock","src":"7483:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7492:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7495:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7485:6:5"},"nodeType":"YulFunctionCall","src":"7485:12:5"},"nodeType":"YulExpressionStatement","src":"7485:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7450:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7474:5:5"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"7457:16:5"},"nodeType":"YulFunctionCall","src":"7457:23:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7447:2:5"},"nodeType":"YulFunctionCall","src":"7447:34:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7440:6:5"},"nodeType":"YulFunctionCall","src":"7440:42:5"},"nodeType":"YulIf","src":"7437:62:5"}]},"name":"validator_revert_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7420:5:5","type":""}],"src":"7385:120:5"},{"body":{"nodeType":"YulBlock","src":"7562:86:5","statements":[{"nodeType":"YulAssignment","src":"7572:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7594:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7581:12:5"},"nodeType":"YulFunctionCall","src":"7581:20:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7572:5:5"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7636:5:5"}],"functionName":{"name":"validator_revert_t_uint64","nodeType":"YulIdentifier","src":"7610:25:5"},"nodeType":"YulFunctionCall","src":"7610:32:5"},"nodeType":"YulExpressionStatement","src":"7610:32:5"}]},"name":"abi_decode_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7540:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"7548:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7556:5:5","type":""}],"src":"7511:137:5"},{"body":{"nodeType":"YulBlock","src":"7913:1222:5","statements":[{"body":{"nodeType":"YulBlock","src":"7960:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"7962:77:5"},"nodeType":"YulFunctionCall","src":"7962:79:5"},"nodeType":"YulExpressionStatement","src":"7962:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7934:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"7943:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7930:3:5"},"nodeType":"YulFunctionCall","src":"7930:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"7955:3:5","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7926:3:5"},"nodeType":"YulFunctionCall","src":"7926:33:5"},"nodeType":"YulIf","src":"7923:120:5"},{"nodeType":"YulBlock","src":"8053:117:5","statements":[{"nodeType":"YulVariableDeclaration","src":"8068:15:5","value":{"kind":"number","nodeType":"YulLiteral","src":"8082:1:5","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8072:6:5","type":""}]},{"nodeType":"YulAssignment","src":"8097:63:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8132:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"8143:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8128:3:5"},"nodeType":"YulFunctionCall","src":"8128:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8152:7:5"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"8107:20:5"},"nodeType":"YulFunctionCall","src":"8107:53:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8097:6:5"}]}]},{"nodeType":"YulBlock","src":"8180:117:5","statements":[{"nodeType":"YulVariableDeclaration","src":"8195:16:5","value":{"kind":"number","nodeType":"YulLiteral","src":"8209:2:5","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8199:6:5","type":""}]},{"nodeType":"YulAssignment","src":"8225:62:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8259:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"8270:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8255:3:5"},"nodeType":"YulFunctionCall","src":"8255:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8279:7:5"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"8235:19:5"},"nodeType":"YulFunctionCall","src":"8235:52:5"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8225:6:5"}]}]},{"nodeType":"YulBlock","src":"8307:118:5","statements":[{"nodeType":"YulVariableDeclaration","src":"8322:16:5","value":{"kind":"number","nodeType":"YulLiteral","src":"8336:2:5","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8326:6:5","type":""}]},{"nodeType":"YulAssignment","src":"8352:63:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8387:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"8398:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8383:3:5"},"nodeType":"YulFunctionCall","src":"8383:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8407:7:5"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"8362:20:5"},"nodeType":"YulFunctionCall","src":"8362:53:5"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"8352:6:5"}]}]},{"nodeType":"YulBlock","src":"8435:341:5","statements":[{"nodeType":"YulVariableDeclaration","src":"8450:46:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8481:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"8492:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8477:3:5"},"nodeType":"YulFunctionCall","src":"8477:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8464:12:5"},"nodeType":"YulFunctionCall","src":"8464:32:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8454:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"8543:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"8545:77:5"},"nodeType":"YulFunctionCall","src":"8545:79:5"},"nodeType":"YulExpressionStatement","src":"8545:79:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8515:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"8523:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8512:2:5"},"nodeType":"YulFunctionCall","src":"8512:30:5"},"nodeType":"YulIf","src":"8509:117:5"},{"nodeType":"YulAssignment","src":"8640:126:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8738:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"8749:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8734:3:5"},"nodeType":"YulFunctionCall","src":"8734:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8758:7:5"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"8658:75:5"},"nodeType":"YulFunctionCall","src":"8658:108:5"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"8640:6:5"},{"name":"value4","nodeType":"YulIdentifier","src":"8648:6:5"}]}]},{"nodeType":"YulBlock","src":"8786:342:5","statements":[{"nodeType":"YulVariableDeclaration","src":"8801:47:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8832:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"8843:3:5","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8828:3:5"},"nodeType":"YulFunctionCall","src":"8828:19:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8815:12:5"},"nodeType":"YulFunctionCall","src":"8815:33:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8805:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"8895:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"8897:77:5"},"nodeType":"YulFunctionCall","src":"8897:79:5"},"nodeType":"YulExpressionStatement","src":"8897:79:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8867:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"8875:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8864:2:5"},"nodeType":"YulFunctionCall","src":"8864:30:5"},"nodeType":"YulIf","src":"8861:117:5"},{"nodeType":"YulAssignment","src":"8992:126:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9090:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"9101:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9086:3:5"},"nodeType":"YulFunctionCall","src":"9086:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9110:7:5"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"9010:75:5"},"nodeType":"YulFunctionCall","src":"9010:108:5"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"8992:6:5"},{"name":"value6","nodeType":"YulIdentifier","src":"9000:6:5"}]}]}]},"name":"abi_decode_tuple_t_bytes32t_uint64t_uint256t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7835:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7846:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7858:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7866:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7874:6:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7882:6:5","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7890:6:5","type":""},{"name":"value5","nodeType":"YulTypedName","src":"7898:6:5","type":""},{"name":"value6","nodeType":"YulTypedName","src":"7906:6:5","type":""}],"src":"7654:1481:5"},{"body":{"nodeType":"YulBlock","src":"9206:53:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9223:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9246:5:5"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"9228:17:5"},"nodeType":"YulFunctionCall","src":"9228:24:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9216:6:5"},"nodeType":"YulFunctionCall","src":"9216:37:5"},"nodeType":"YulExpressionStatement","src":"9216:37:5"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9194:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9201:3:5","type":""}],"src":"9141:118:5"},{"body":{"nodeType":"YulBlock","src":"9363:124:5","statements":[{"nodeType":"YulAssignment","src":"9373:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9385:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"9396:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9381:3:5"},"nodeType":"YulFunctionCall","src":"9381:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9373:4:5"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9453:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9466:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"9477:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9462:3:5"},"nodeType":"YulFunctionCall","src":"9462:17:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"9409:43:5"},"nodeType":"YulFunctionCall","src":"9409:71:5"},"nodeType":"YulExpressionStatement","src":"9409:71:5"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9335:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9347:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9358:4:5","type":""}],"src":"9265:222:5"},{"body":{"nodeType":"YulBlock","src":"9521:152:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9538:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9541:77:5","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9531:6:5"},"nodeType":"YulFunctionCall","src":"9531:88:5"},"nodeType":"YulExpressionStatement","src":"9531:88:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9635:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9638:4:5","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9628:6:5"},"nodeType":"YulFunctionCall","src":"9628:15:5"},"nodeType":"YulExpressionStatement","src":"9628:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9659:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9662:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9652:6:5"},"nodeType":"YulFunctionCall","src":"9652:15:5"},"nodeType":"YulExpressionStatement","src":"9652:15:5"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"9493:180:5"},{"body":{"nodeType":"YulBlock","src":"9707:152:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9724:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9727:77:5","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9717:6:5"},"nodeType":"YulFunctionCall","src":"9717:88:5"},"nodeType":"YulExpressionStatement","src":"9717:88:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9821:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9824:4:5","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9814:6:5"},"nodeType":"YulFunctionCall","src":"9814:15:5"},"nodeType":"YulExpressionStatement","src":"9814:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9845:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9848:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9838:6:5"},"nodeType":"YulFunctionCall","src":"9838:15:5"},"nodeType":"YulExpressionStatement","src":"9838:15:5"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"9679:180:5"},{"body":{"nodeType":"YulBlock","src":"9907:143:5","statements":[{"nodeType":"YulAssignment","src":"9917:25:5","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9940:1:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"9922:17:5"},"nodeType":"YulFunctionCall","src":"9922:20:5"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"9917:1:5"}]},{"nodeType":"YulAssignment","src":"9951:25:5","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"9974:1:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"9956:17:5"},"nodeType":"YulFunctionCall","src":"9956:20:5"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"9951:1:5"}]},{"body":{"nodeType":"YulBlock","src":"9998:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"10000:16:5"},"nodeType":"YulFunctionCall","src":"10000:18:5"},"nodeType":"YulExpressionStatement","src":"10000:18:5"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"9995:1:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9988:6:5"},"nodeType":"YulFunctionCall","src":"9988:9:5"},"nodeType":"YulIf","src":"9985:35:5"},{"nodeType":"YulAssignment","src":"10030:14:5","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10039:1:5"},{"name":"y","nodeType":"YulIdentifier","src":"10042:1:5"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"10035:3:5"},"nodeType":"YulFunctionCall","src":"10035:9:5"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"10030:1:5"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"9896:1:5","type":""},{"name":"y","nodeType":"YulTypedName","src":"9899:1:5","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"9905:1:5","type":""}],"src":"9865:185:5"},{"body":{"nodeType":"YulBlock","src":"10101:149:5","statements":[{"nodeType":"YulAssignment","src":"10111:25:5","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10134:1:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"10116:17:5"},"nodeType":"YulFunctionCall","src":"10116:20:5"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"10111:1:5"}]},{"nodeType":"YulAssignment","src":"10145:25:5","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"10168:1:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"10150:17:5"},"nodeType":"YulFunctionCall","src":"10150:20:5"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"10145:1:5"}]},{"nodeType":"YulAssignment","src":"10179:17:5","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10191:1:5"},{"name":"y","nodeType":"YulIdentifier","src":"10194:1:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10187:3:5"},"nodeType":"YulFunctionCall","src":"10187:9:5"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"10179:4:5"}]},{"body":{"nodeType":"YulBlock","src":"10221:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"10223:16:5"},"nodeType":"YulFunctionCall","src":"10223:18:5"},"nodeType":"YulExpressionStatement","src":"10223:18:5"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"10212:4:5"},{"name":"x","nodeType":"YulIdentifier","src":"10218:1:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10209:2:5"},"nodeType":"YulFunctionCall","src":"10209:11:5"},"nodeType":"YulIf","src":"10206:37:5"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"10087:1:5","type":""},{"name":"y","nodeType":"YulTypedName","src":"10090:1:5","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"10096:4:5","type":""}],"src":"10056:194:5"},{"body":{"nodeType":"YulBlock","src":"10410:288:5","statements":[{"nodeType":"YulAssignment","src":"10420:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10432:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"10443:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10428:3:5"},"nodeType":"YulFunctionCall","src":"10428:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10420:4:5"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10500:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10513:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"10524:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10509:3:5"},"nodeType":"YulFunctionCall","src":"10509:17:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"10456:43:5"},"nodeType":"YulFunctionCall","src":"10456:71:5"},"nodeType":"YulExpressionStatement","src":"10456:71:5"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"10581:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10594:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"10605:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10590:3:5"},"nodeType":"YulFunctionCall","src":"10590:18:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"10537:43:5"},"nodeType":"YulFunctionCall","src":"10537:72:5"},"nodeType":"YulExpressionStatement","src":"10537:72:5"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"10663:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10676:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"10687:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10672:3:5"},"nodeType":"YulFunctionCall","src":"10672:18:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"10619:43:5"},"nodeType":"YulFunctionCall","src":"10619:72:5"},"nodeType":"YulExpressionStatement","src":"10619:72:5"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10366:9:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10378:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10386:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10394:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10405:4:5","type":""}],"src":"10256:442:5"},{"body":{"nodeType":"YulBlock","src":"10841:73:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10858:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"10863:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10851:6:5"},"nodeType":"YulFunctionCall","src":"10851:19:5"},"nodeType":"YulExpressionStatement","src":"10851:19:5"},{"nodeType":"YulAssignment","src":"10879:29:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10898:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"10903:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10894:3:5"},"nodeType":"YulFunctionCall","src":"10894:14:5"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"10879:11:5"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$572_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"10813:3:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"10818:6:5","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"10829:11:5","type":""}],"src":"10704:210:5"},{"body":{"nodeType":"YulBlock","src":"11022:28:5","statements":[{"nodeType":"YulAssignment","src":"11032:11:5","value":{"name":"ptr","nodeType":"YulIdentifier","src":"11040:3:5"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"11032:4:5"}]}]},"name":"array_dataslot_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"11009:3:5","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"11017:4:5","type":""}],"src":"10920:130:5"},{"body":{"nodeType":"YulBlock","src":"11099:79:5","statements":[{"body":{"nodeType":"YulBlock","src":"11156:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11165:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11168:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11158:6:5"},"nodeType":"YulFunctionCall","src":"11158:12:5"},"nodeType":"YulExpressionStatement","src":"11158:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11122:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11147:5:5"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"11129:17:5"},"nodeType":"YulFunctionCall","src":"11129:24:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"11119:2:5"},"nodeType":"YulFunctionCall","src":"11119:35:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11112:6:5"},"nodeType":"YulFunctionCall","src":"11112:43:5"},"nodeType":"YulIf","src":"11109:63:5"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11092:5:5","type":""}],"src":"11056:122:5"},{"body":{"nodeType":"YulBlock","src":"11236:87:5","statements":[{"nodeType":"YulAssignment","src":"11246:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11268:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11255:12:5"},"nodeType":"YulFunctionCall","src":"11255:20:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"11246:5:5"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11311:5:5"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"11284:26:5"},"nodeType":"YulFunctionCall","src":"11284:33:5"},"nodeType":"YulExpressionStatement","src":"11284:33:5"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"11214:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"11222:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"11230:5:5","type":""}],"src":"11184:139:5"},{"body":{"nodeType":"YulBlock","src":"11387:64:5","statements":[{"nodeType":"YulAssignment","src":"11397:48:5","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11427:3:5"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11436:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"11441:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11432:3:5"},"nodeType":"YulFunctionCall","src":"11432:12:5"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"11406:20:5"},"nodeType":"YulFunctionCall","src":"11406:39:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"11397:5:5"}]}]},"name":"calldata_access_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"11364:7:5","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"11373:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"11381:5:5","type":""}],"src":"11329:122:5"},{"body":{"nodeType":"YulBlock","src":"11512:53:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11529:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11552:5:5"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"11534:17:5"},"nodeType":"YulFunctionCall","src":"11534:24:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11522:6:5"},"nodeType":"YulFunctionCall","src":"11522:37:5"},"nodeType":"YulExpressionStatement","src":"11522:37:5"}]},"name":"abi_encode_t_address_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11500:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11507:3:5","type":""}],"src":"11457:108:5"},{"body":{"nodeType":"YulBlock","src":"11629:64:5","statements":[{"nodeType":"YulAssignment","src":"11639:48:5","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11669:3:5"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11678:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"11683:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11674:3:5"},"nodeType":"YulFunctionCall","src":"11674:12:5"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"11648:20:5"},"nodeType":"YulFunctionCall","src":"11648:39:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"11639:5:5"}]}]},"name":"calldata_access_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"11606:7:5","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"11615:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"11623:5:5","type":""}],"src":"11571:122:5"},{"body":{"nodeType":"YulBlock","src":"11754:53:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11771:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11794:5:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"11776:17:5"},"nodeType":"YulFunctionCall","src":"11776:24:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11764:6:5"},"nodeType":"YulFunctionCall","src":"11764:37:5"},"nodeType":"YulExpressionStatement","src":"11764:37:5"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11742:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11749:3:5","type":""}],"src":"11699:108:5"},{"body":{"nodeType":"YulBlock","src":"11967:446:5","statements":[{"nodeType":"YulVariableDeclaration","src":"11977:26:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11993:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"11998:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11989:3:5"},"nodeType":"YulFunctionCall","src":"11989:14:5"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"11981:4:5","type":""}]},{"nodeType":"YulBlock","src":"12013:191:5","statements":[{"nodeType":"YulVariableDeclaration","src":"12048:70:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12094:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12105:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"12112:4:5","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12101:3:5"},"nodeType":"YulFunctionCall","src":"12101:16:5"}],"functionName":{"name":"calldata_access_t_address","nodeType":"YulIdentifier","src":"12068:25:5"},"nodeType":"YulFunctionCall","src":"12068:50:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12052:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12165:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12183:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"12188:4:5","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12179:3:5"},"nodeType":"YulFunctionCall","src":"12179:14:5"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"12131:33:5"},"nodeType":"YulFunctionCall","src":"12131:63:5"},"nodeType":"YulExpressionStatement","src":"12131:63:5"}]},{"nodeType":"YulBlock","src":"12214:192:5","statements":[{"nodeType":"YulVariableDeclaration","src":"12250:70:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12296:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12307:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"12314:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12303:3:5"},"nodeType":"YulFunctionCall","src":"12303:16:5"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"12270:25:5"},"nodeType":"YulFunctionCall","src":"12270:50:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12254:12:5","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12367:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12385:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"12390:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12381:3:5"},"nodeType":"YulFunctionCall","src":"12381:14:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"12333:33:5"},"nodeType":"YulFunctionCall","src":"12333:63:5"},"nodeType":"YulExpressionStatement","src":"12333:63:5"}]}]},"name":"abi_encode_t_struct$_Validator_$572_calldata_ptr_to_t_struct$_Validator_$572_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11954:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11961:3:5","type":""}],"src":"11857:556:5"},{"body":{"nodeType":"YulBlock","src":"12553:153:5","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12651:6:5"},{"name":"pos","nodeType":"YulIdentifier","src":"12659:3:5"}],"functionName":{"name":"abi_encode_t_struct$_Validator_$572_calldata_ptr_to_t_struct$_Validator_$572_memory_ptr","nodeType":"YulIdentifier","src":"12563:87:5"},"nodeType":"YulFunctionCall","src":"12563:100:5"},"nodeType":"YulExpressionStatement","src":"12563:100:5"},{"nodeType":"YulAssignment","src":"12672:28:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12690:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"12695:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12686:3:5"},"nodeType":"YulFunctionCall","src":"12686:14:5"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"12672:10:5"}]}]},"name":"abi_encodeUpdatedPos_t_struct$_Validator_$572_calldata_ptr_to_t_struct$_Validator_$572_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"12526:6:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12534:3:5","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"12542:10:5","type":""}],"src":"12419:287:5"},{"body":{"nodeType":"YulBlock","src":"12798:28:5","statements":[{"nodeType":"YulAssignment","src":"12808:12:5","value":{"name":"ptr","nodeType":"YulIdentifier","src":"12817:3:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"12808:5:5"}]}]},"name":"calldata_access_t_struct$_Validator_$572_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"12775:7:5","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"12784:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"12792:5:5","type":""}],"src":"12712:114:5"},{"body":{"nodeType":"YulBlock","src":"12937:38:5","statements":[{"nodeType":"YulAssignment","src":"12947:22:5","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"12959:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"12964:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12955:3:5"},"nodeType":"YulFunctionCall","src":"12955:14:5"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"12947:4:5"}]}]},"name":"array_nextElement_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"12924:3:5","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"12932:4:5","type":""}],"src":"12832:143:5"},{"body":{"nodeType":"YulBlock","src":"13217:729:5","statements":[{"nodeType":"YulAssignment","src":"13228:119:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13335:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"13340:6:5"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$572_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13235:99:5"},"nodeType":"YulFunctionCall","src":"13235:112:5"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13228:3:5"}]},{"nodeType":"YulVariableDeclaration","src":"13356:101:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13451:5:5"}],"functionName":{"name":"array_dataslot_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"13371:79:5"},"nodeType":"YulFunctionCall","src":"13371:86:5"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"13360:7:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"13466:21:5","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"13480:7:5"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"13470:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"13556:365:5","statements":[{"nodeType":"YulVariableDeclaration","src":"13570:91:5","value":{"arguments":[{"name":"baseRef","nodeType":"YulIdentifier","src":"13645:7:5"},{"name":"srcPtr","nodeType":"YulIdentifier","src":"13654:6:5"}],"functionName":{"name":"calldata_access_t_struct$_Validator_$572_calldata_ptr","nodeType":"YulIdentifier","src":"13591:53:5"},"nodeType":"YulFunctionCall","src":"13591:70:5"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"13574:13:5","type":""}]},{"nodeType":"YulAssignment","src":"13674:124:5","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"13779:13:5"},{"name":"pos","nodeType":"YulIdentifier","src":"13794:3:5"}],"functionName":{"name":"abi_encodeUpdatedPos_t_struct$_Validator_$572_calldata_ptr_to_t_struct$_Validator_$572_memory_ptr","nodeType":"YulIdentifier","src":"13681:97:5"},"nodeType":"YulFunctionCall","src":"13681:117:5"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13674:3:5"}]},{"nodeType":"YulAssignment","src":"13811:100:5","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"13904:6:5"}],"functionName":{"name":"array_nextElement_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"13821:82:5"},"nodeType":"YulFunctionCall","src":"13821:90:5"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"13811:6:5"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"13518:1:5"},{"name":"length","nodeType":"YulIdentifier","src":"13521:6:5"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13515:2:5"},"nodeType":"YulFunctionCall","src":"13515:13:5"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"13529:18:5","statements":[{"nodeType":"YulAssignment","src":"13531:14:5","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"13540:1:5"},{"kind":"number","nodeType":"YulLiteral","src":"13543:1:5","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13536:3:5"},"nodeType":"YulFunctionCall","src":"13536:9:5"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"13531:1:5"}]}]},"pre":{"nodeType":"YulBlock","src":"13500:14:5","statements":[{"nodeType":"YulVariableDeclaration","src":"13502:10:5","value":{"kind":"number","nodeType":"YulLiteral","src":"13511:1:5","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"13506:1:5","type":""}]}]},"src":"13496:425:5"},{"nodeType":"YulAssignment","src":"13930:10:5","value":{"name":"pos","nodeType":"YulIdentifier","src":"13937:3:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"13930:3:5"}]}]},"name":"abi_encode_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$572_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13188:5:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"13195:6:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"13203:3:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13212:3:5","type":""}],"src":"13029:917:5"},{"body":{"nodeType":"YulBlock","src":"14164:289:5","statements":[{"nodeType":"YulAssignment","src":"14174:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14186:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"14197:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14182:3:5"},"nodeType":"YulFunctionCall","src":"14182:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14174:4:5"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14221:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"14232:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14217:3:5"},"nodeType":"YulFunctionCall","src":"14217:17:5"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"14240:4:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"14246:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14236:3:5"},"nodeType":"YulFunctionCall","src":"14236:20:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14210:6:5"},"nodeType":"YulFunctionCall","src":"14210:47:5"},"nodeType":"YulExpressionStatement","src":"14210:47:5"},{"nodeType":"YulAssignment","src":"14266:180:5","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14424:6:5"},{"name":"value1","nodeType":"YulIdentifier","src":"14432:6:5"},{"name":"tail","nodeType":"YulIdentifier","src":"14441:4:5"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$572_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14274:149:5"},"nodeType":"YulFunctionCall","src":"14274:172:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14266:4:5"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_struct$_Validator_$572_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14128:9:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14140:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14148:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14159:4:5","type":""}],"src":"13952:501:5"},{"body":{"nodeType":"YulBlock","src":"14548:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14565:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14568:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14558:6:5"},"nodeType":"YulFunctionCall","src":"14558:12:5"},"nodeType":"YulExpressionStatement","src":"14558:12:5"}]},"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulFunctionDefinition","src":"14459:117:5"},{"body":{"nodeType":"YulBlock","src":"14671:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14688:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14691:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14681:6:5"},"nodeType":"YulFunctionCall","src":"14681:12:5"},"nodeType":"YulExpressionStatement","src":"14681:12:5"}]},"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulFunctionDefinition","src":"14582:117:5"},{"body":{"nodeType":"YulBlock","src":"14794:28:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14811:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14814:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14804:6:5"},"nodeType":"YulFunctionCall","src":"14804:12:5"},"nodeType":"YulExpressionStatement","src":"14804:12:5"}]},"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulFunctionDefinition","src":"14705:117:5"},{"body":{"nodeType":"YulBlock","src":"14928:295:5","statements":[{"nodeType":"YulVariableDeclaration","src":"14938:51:5","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"14977:11:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14964:12:5"},"nodeType":"YulFunctionCall","src":"14964:25:5"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"14942:18:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"15083:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"15085:77:5"},"nodeType":"YulFunctionCall","src":"15085:79:5"},"nodeType":"YulExpressionStatement","src":"15085:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15012:18:5"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15040:12:5"},"nodeType":"YulFunctionCall","src":"15040:14:5"},{"name":"base_ref","nodeType":"YulIdentifier","src":"15056:8:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15036:3:5"},"nodeType":"YulFunctionCall","src":"15036:29:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15071:4:5","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"15077:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15067:3:5"},"nodeType":"YulFunctionCall","src":"15067:12:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15032:3:5"},"nodeType":"YulFunctionCall","src":"15032:48:5"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15008:3:5"},"nodeType":"YulFunctionCall","src":"15008:73:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15001:6:5"},"nodeType":"YulFunctionCall","src":"15001:81:5"},"nodeType":"YulIf","src":"14998:168:5"},{"nodeType":"YulAssignment","src":"15175:41:5","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"15187:8:5"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15197:18:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15183:3:5"},"nodeType":"YulFunctionCall","src":"15183:33:5"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"15175:4:5"}]}]},"name":"access_calldata_tail_t_struct$_ReportData_$560_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"14897:8:5","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"14907:11:5","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"14923:4:5","type":""}],"src":"14828:395:5"},{"body":{"nodeType":"YulBlock","src":"15319:634:5","statements":[{"nodeType":"YulVariableDeclaration","src":"15329:51:5","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"15368:11:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15355:12:5"},"nodeType":"YulFunctionCall","src":"15355:25:5"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"15333:18:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"15474:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"15476:77:5"},"nodeType":"YulFunctionCall","src":"15476:79:5"},"nodeType":"YulExpressionStatement","src":"15476:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15403:18:5"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15431:12:5"},"nodeType":"YulFunctionCall","src":"15431:14:5"},{"name":"base_ref","nodeType":"YulIdentifier","src":"15447:8:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15427:3:5"},"nodeType":"YulFunctionCall","src":"15427:29:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15462:4:5","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"15468:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15458:3:5"},"nodeType":"YulFunctionCall","src":"15458:12:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15423:3:5"},"nodeType":"YulFunctionCall","src":"15423:48:5"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15399:3:5"},"nodeType":"YulFunctionCall","src":"15399:73:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15392:6:5"},"nodeType":"YulFunctionCall","src":"15392:81:5"},"nodeType":"YulIf","src":"15389:168:5"},{"nodeType":"YulAssignment","src":"15566:41:5","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"15578:8:5"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15588:18:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15574:3:5"},"nodeType":"YulFunctionCall","src":"15574:33:5"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"15566:4:5"}]},{"nodeType":"YulAssignment","src":"15617:28:5","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"15640:4:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15627:12:5"},"nodeType":"YulFunctionCall","src":"15627:18:5"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"15617:6:5"}]},{"body":{"nodeType":"YulBlock","src":"15688:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulIdentifier","src":"15690:77:5"},"nodeType":"YulFunctionCall","src":"15690:79:5"},"nodeType":"YulExpressionStatement","src":"15690:79:5"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"15660:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"15668:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15657:2:5"},"nodeType":"YulFunctionCall","src":"15657:30:5"},"nodeType":"YulIf","src":"15654:117:5"},{"nodeType":"YulAssignment","src":"15780:21:5","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"15792:4:5"},{"kind":"number","nodeType":"YulLiteral","src":"15798:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15788:3:5"},"nodeType":"YulFunctionCall","src":"15788:13:5"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"15780:4:5"}]},{"body":{"nodeType":"YulBlock","src":"15863:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulIdentifier","src":"15865:77:5"},"nodeType":"YulFunctionCall","src":"15865:79:5"},"nodeType":"YulExpressionStatement","src":"15865:79:5"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"15817:4:5"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15827:12:5"},"nodeType":"YulFunctionCall","src":"15827:14:5"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"15847:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"15855:4:5","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"15843:3:5"},"nodeType":"YulFunctionCall","src":"15843:17:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15823:3:5"},"nodeType":"YulFunctionCall","src":"15823:38:5"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"15813:3:5"},"nodeType":"YulFunctionCall","src":"15813:49:5"},"nodeType":"YulIf","src":"15810:136:5"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"15280:8:5","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"15290:11:5","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"15306:4:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"15312:6:5","type":""}],"src":"15229:724:5"},{"body":{"nodeType":"YulBlock","src":"16054:73:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16071:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"16076:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16064:6:5"},"nodeType":"YulFunctionCall","src":"16064:19:5"},"nodeType":"YulExpressionStatement","src":"16064:19:5"},{"nodeType":"YulAssignment","src":"16092:29:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16111:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"16116:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16107:3:5"},"nodeType":"YulFunctionCall","src":"16107:14:5"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16092:11:5"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16026:3:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"16031:6:5","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16042:11:5","type":""}],"src":"15959:168:5"},{"body":{"nodeType":"YulBlock","src":"16197:82:5","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16220:3:5"},{"name":"src","nodeType":"YulIdentifier","src":"16225:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"16230:6:5"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"16207:12:5"},"nodeType":"YulFunctionCall","src":"16207:30:5"},"nodeType":"YulExpressionStatement","src":"16207:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16257:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"16262:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16253:3:5"},"nodeType":"YulFunctionCall","src":"16253:16:5"},{"kind":"number","nodeType":"YulLiteral","src":"16271:1:5","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16246:6:5"},"nodeType":"YulFunctionCall","src":"16246:27:5"},"nodeType":"YulExpressionStatement","src":"16246:27:5"}]},"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"16179:3:5","type":""},{"name":"dst","nodeType":"YulTypedName","src":"16184:3:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"16189:6:5","type":""}],"src":"16133:146:5"},{"body":{"nodeType":"YulBlock","src":"16333:54:5","statements":[{"nodeType":"YulAssignment","src":"16343:38:5","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16361:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"16368:2:5","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16357:3:5"},"nodeType":"YulFunctionCall","src":"16357:14:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16377:2:5","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16373:3:5"},"nodeType":"YulFunctionCall","src":"16373:7:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16353:3:5"},"nodeType":"YulFunctionCall","src":"16353:28:5"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"16343:6:5"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16316:5:5","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"16326:6:5","type":""}],"src":"16285:102:5"},{"body":{"nodeType":"YulBlock","src":"16515:214:5","statements":[{"nodeType":"YulAssignment","src":"16525:77:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16590:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"16595:6:5"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"16532:57:5"},"nodeType":"YulFunctionCall","src":"16532:70:5"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16525:3:5"}]},{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"16649:5:5"},{"name":"pos","nodeType":"YulIdentifier","src":"16656:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"16661:6:5"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"16612:36:5"},"nodeType":"YulFunctionCall","src":"16612:56:5"},"nodeType":"YulExpressionStatement","src":"16612:56:5"},{"nodeType":"YulAssignment","src":"16677:46:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16688:3:5"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"16715:6:5"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"16693:21:5"},"nodeType":"YulFunctionCall","src":"16693:29:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16684:3:5"},"nodeType":"YulFunctionCall","src":"16684:39:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16677:3:5"}]}]},"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"16488:5:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"16495:6:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"16503:3:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16511:3:5","type":""}],"src":"16415:314:5"},{"body":{"nodeType":"YulBlock","src":"17114:949:5","statements":[{"nodeType":"YulAssignment","src":"17124:27:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17136:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17147:3:5","type":"","value":"320"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17132:3:5"},"nodeType":"YulFunctionCall","src":"17132:19:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17124:4:5"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17205:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17218:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17229:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17214:3:5"},"nodeType":"YulFunctionCall","src":"17214:17:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17161:43:5"},"nodeType":"YulFunctionCall","src":"17161:71:5"},"nodeType":"YulExpressionStatement","src":"17161:71:5"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"17286:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17299:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17310:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17295:3:5"},"nodeType":"YulFunctionCall","src":"17295:18:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17242:43:5"},"nodeType":"YulFunctionCall","src":"17242:72:5"},"nodeType":"YulExpressionStatement","src":"17242:72:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17335:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17346:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17331:3:5"},"nodeType":"YulFunctionCall","src":"17331:18:5"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"17355:4:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"17361:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17351:3:5"},"nodeType":"YulFunctionCall","src":"17351:20:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17324:6:5"},"nodeType":"YulFunctionCall","src":"17324:48:5"},"nodeType":"YulExpressionStatement","src":"17324:48:5"},{"nodeType":"YulAssignment","src":"17381:94:5","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"17453:6:5"},{"name":"value3","nodeType":"YulIdentifier","src":"17461:6:5"},{"name":"tail","nodeType":"YulIdentifier","src":"17470:4:5"}],"functionName":{"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"17389:63:5"},"nodeType":"YulFunctionCall","src":"17389:86:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17381:4:5"}]},{"expression":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"17529:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17542:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17553:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17538:3:5"},"nodeType":"YulFunctionCall","src":"17538:18:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17485:43:5"},"nodeType":"YulFunctionCall","src":"17485:72:5"},"nodeType":"YulExpressionStatement","src":"17485:72:5"},{"expression":{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"17611:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17624:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17635:3:5","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17620:3:5"},"nodeType":"YulFunctionCall","src":"17620:19:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17567:43:5"},"nodeType":"YulFunctionCall","src":"17567:73:5"},"nodeType":"YulExpressionStatement","src":"17567:73:5"},{"expression":{"arguments":[{"name":"value6","nodeType":"YulIdentifier","src":"17694:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17707:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17718:3:5","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17703:3:5"},"nodeType":"YulFunctionCall","src":"17703:19:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17650:43:5"},"nodeType":"YulFunctionCall","src":"17650:73:5"},"nodeType":"YulExpressionStatement","src":"17650:73:5"},{"expression":{"arguments":[{"name":"value7","nodeType":"YulIdentifier","src":"17777:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17790:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17801:3:5","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17786:3:5"},"nodeType":"YulFunctionCall","src":"17786:19:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17733:43:5"},"nodeType":"YulFunctionCall","src":"17733:73:5"},"nodeType":"YulExpressionStatement","src":"17733:73:5"},{"expression":{"arguments":[{"name":"value8","nodeType":"YulIdentifier","src":"17860:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17873:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17884:3:5","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17869:3:5"},"nodeType":"YulFunctionCall","src":"17869:19:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17816:43:5"},"nodeType":"YulFunctionCall","src":"17816:73:5"},"nodeType":"YulExpressionStatement","src":"17816:73:5"},{"expression":{"arguments":[{"name":"value9","nodeType":"YulIdentifier","src":"17943:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17956:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17967:3:5","type":"","value":"256"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17952:3:5"},"nodeType":"YulFunctionCall","src":"17952:19:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17899:43:5"},"nodeType":"YulFunctionCall","src":"17899:73:5"},"nodeType":"YulExpressionStatement","src":"17899:73:5"},{"expression":{"arguments":[{"name":"value10","nodeType":"YulIdentifier","src":"18026:7:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18040:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18051:3:5","type":"","value":"288"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18036:3:5"},"nodeType":"YulFunctionCall","src":"18036:19:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17982:43:5"},"nodeType":"YulFunctionCall","src":"17982:74:5"},"nodeType":"YulExpressionStatement","src":"17982:74:5"}]},"name":"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes_calldata_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_bytes32_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17005:9:5","type":""},{"name":"value10","nodeType":"YulTypedName","src":"17017:7:5","type":""},{"name":"value9","nodeType":"YulTypedName","src":"17026:6:5","type":""},{"name":"value8","nodeType":"YulTypedName","src":"17034:6:5","type":""},{"name":"value7","nodeType":"YulTypedName","src":"17042:6:5","type":""},{"name":"value6","nodeType":"YulTypedName","src":"17050:6:5","type":""},{"name":"value5","nodeType":"YulTypedName","src":"17058:6:5","type":""},{"name":"value4","nodeType":"YulTypedName","src":"17066:6:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"17074:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17082:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17090:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17098:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17109:4:5","type":""}],"src":"16735:1328:5"},{"body":{"nodeType":"YulBlock","src":"18101:28:5","statements":[{"nodeType":"YulAssignment","src":"18111:12:5","value":{"name":"value","nodeType":"YulIdentifier","src":"18118:5:5"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"18111:3:5"}]}]},"name":"identity","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18087:5:5","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"18097:3:5","type":""}],"src":"18069:60:5"},{"body":{"nodeType":"YulBlock","src":"18194:81:5","statements":[{"nodeType":"YulAssignment","src":"18204:65:5","value":{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18261:5:5"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"18244:16:5"},"nodeType":"YulFunctionCall","src":"18244:23:5"}],"functionName":{"name":"identity","nodeType":"YulIdentifier","src":"18235:8:5"},"nodeType":"YulFunctionCall","src":"18235:33:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"18217:17:5"},"nodeType":"YulFunctionCall","src":"18217:52:5"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"18204:9:5"}]}]},"name":"convert_t_uint64_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18174:5:5","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"18184:9:5","type":""}],"src":"18135:140:5"},{"body":{"nodeType":"YulBlock","src":"18345:65:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18362:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18397:5:5"}],"functionName":{"name":"convert_t_uint64_to_t_uint256","nodeType":"YulIdentifier","src":"18367:29:5"},"nodeType":"YulFunctionCall","src":"18367:36:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18355:6:5"},"nodeType":"YulFunctionCall","src":"18355:49:5"},"nodeType":"YulExpressionStatement","src":"18355:49:5"}]},"name":"abi_encode_t_uint64_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18333:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18340:3:5","type":""}],"src":"18281:129:5"},{"body":{"nodeType":"YulBlock","src":"18569:287:5","statements":[{"nodeType":"YulAssignment","src":"18579:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18591:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18602:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18587:3:5"},"nodeType":"YulFunctionCall","src":"18587:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18579:4:5"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18658:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18671:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18682:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18667:3:5"},"nodeType":"YulFunctionCall","src":"18667:17:5"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"18615:42:5"},"nodeType":"YulFunctionCall","src":"18615:70:5"},"nodeType":"YulExpressionStatement","src":"18615:70:5"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"18739:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18752:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18763:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18748:3:5"},"nodeType":"YulFunctionCall","src":"18748:18:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"18695:43:5"},"nodeType":"YulFunctionCall","src":"18695:72:5"},"nodeType":"YulExpressionStatement","src":"18695:72:5"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"18821:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18834:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18845:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18830:3:5"},"nodeType":"YulFunctionCall","src":"18830:18:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"18777:43:5"},"nodeType":"YulFunctionCall","src":"18777:72:5"},"nodeType":"YulExpressionStatement","src":"18777:72:5"}]},"name":"abi_encode_tuple_t_uint64_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18525:9:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"18537:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18545:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18553:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18564:4:5","type":""}],"src":"18416:440:5"},{"body":{"nodeType":"YulBlock","src":"19044:371:5","statements":[{"nodeType":"YulAssignment","src":"19054:27:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19066:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19077:3:5","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19062:3:5"},"nodeType":"YulFunctionCall","src":"19062:19:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19054:4:5"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19135:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19148:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19159:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19144:3:5"},"nodeType":"YulFunctionCall","src":"19144:17:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"19091:43:5"},"nodeType":"YulFunctionCall","src":"19091:71:5"},"nodeType":"YulExpressionStatement","src":"19091:71:5"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"19216:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19229:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19240:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19225:3:5"},"nodeType":"YulFunctionCall","src":"19225:18:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"19172:43:5"},"nodeType":"YulFunctionCall","src":"19172:72:5"},"nodeType":"YulExpressionStatement","src":"19172:72:5"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"19298:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19311:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19322:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19307:3:5"},"nodeType":"YulFunctionCall","src":"19307:18:5"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"19254:43:5"},"nodeType":"YulFunctionCall","src":"19254:72:5"},"nodeType":"YulExpressionStatement","src":"19254:72:5"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"19380:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19393:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19404:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19389:3:5"},"nodeType":"YulFunctionCall","src":"19389:18:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"19336:43:5"},"nodeType":"YulFunctionCall","src":"19336:72:5"},"nodeType":"YulExpressionStatement","src":"19336:72:5"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18992:9:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"19004:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19012:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19020:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19028:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19039:4:5","type":""}],"src":"18862:553:5"},{"body":{"nodeType":"YulBlock","src":"19449:152:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19466:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19469:77:5","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19459:6:5"},"nodeType":"YulFunctionCall","src":"19459:88:5"},"nodeType":"YulExpressionStatement","src":"19459:88:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19563:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"19566:4:5","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19556:6:5"},"nodeType":"YulFunctionCall","src":"19556:15:5"},"nodeType":"YulExpressionStatement","src":"19556:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19587:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19590:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19580:6:5"},"nodeType":"YulFunctionCall","src":"19580:15:5"},"nodeType":"YulExpressionStatement","src":"19580:15:5"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"19421:180:5"},{"body":{"nodeType":"YulBlock","src":"19650:43:5","statements":[{"nodeType":"YulAssignment","src":"19660:27:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19675:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"19682:4:5","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19671:3:5"},"nodeType":"YulFunctionCall","src":"19671:16:5"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"19660:7:5"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19632:5:5","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"19642:7:5","type":""}],"src":"19607:86:5"},{"body":{"nodeType":"YulBlock","src":"19740:77:5","statements":[{"body":{"nodeType":"YulBlock","src":"19795:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19804:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19807:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19797:6:5"},"nodeType":"YulFunctionCall","src":"19797:12:5"},"nodeType":"YulExpressionStatement","src":"19797:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19763:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19786:5:5"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"19770:15:5"},"nodeType":"YulFunctionCall","src":"19770:22:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19760:2:5"},"nodeType":"YulFunctionCall","src":"19760:33:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19753:6:5"},"nodeType":"YulFunctionCall","src":"19753:41:5"},"nodeType":"YulIf","src":"19750:61:5"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19733:5:5","type":""}],"src":"19699:118:5"},{"body":{"nodeType":"YulBlock","src":"19873:85:5","statements":[{"nodeType":"YulAssignment","src":"19883:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19905:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"19892:12:5"},"nodeType":"YulFunctionCall","src":"19892:20:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"19883:5:5"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19946:5:5"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"19921:24:5"},"nodeType":"YulFunctionCall","src":"19921:31:5"},"nodeType":"YulExpressionStatement","src":"19921:31:5"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"19851:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"19859:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"19867:5:5","type":""}],"src":"19823:135:5"},{"body":{"nodeType":"YulBlock","src":"20028:261:5","statements":[{"body":{"nodeType":"YulBlock","src":"20074:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"20076:77:5"},"nodeType":"YulFunctionCall","src":"20076:79:5"},"nodeType":"YulExpressionStatement","src":"20076:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20049:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"20058:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20045:3:5"},"nodeType":"YulFunctionCall","src":"20045:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"20070:2:5","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20041:3:5"},"nodeType":"YulFunctionCall","src":"20041:32:5"},"nodeType":"YulIf","src":"20038:119:5"},{"nodeType":"YulBlock","src":"20167:115:5","statements":[{"nodeType":"YulVariableDeclaration","src":"20182:15:5","value":{"kind":"number","nodeType":"YulLiteral","src":"20196:1:5","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20186:6:5","type":""}]},{"nodeType":"YulAssignment","src":"20211:61:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20244:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"20255:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20240:3:5"},"nodeType":"YulFunctionCall","src":"20240:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"20264:7:5"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"20221:18:5"},"nodeType":"YulFunctionCall","src":"20221:51:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20211:6:5"}]}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19998:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20009:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20021:6:5","type":""}],"src":"19964:325:5"},{"body":{"nodeType":"YulBlock","src":"20361:263:5","statements":[{"body":{"nodeType":"YulBlock","src":"20407:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"20409:77:5"},"nodeType":"YulFunctionCall","src":"20409:79:5"},"nodeType":"YulExpressionStatement","src":"20409:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20382:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"20391:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20378:3:5"},"nodeType":"YulFunctionCall","src":"20378:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"20403:2:5","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20374:3:5"},"nodeType":"YulFunctionCall","src":"20374:32:5"},"nodeType":"YulIf","src":"20371:119:5"},{"nodeType":"YulBlock","src":"20500:117:5","statements":[{"nodeType":"YulVariableDeclaration","src":"20515:15:5","value":{"kind":"number","nodeType":"YulLiteral","src":"20529:1:5","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20519:6:5","type":""}]},{"nodeType":"YulAssignment","src":"20544:63:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20579:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"20590:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20575:3:5"},"nodeType":"YulFunctionCall","src":"20575:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"20599:7:5"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"20554:20:5"},"nodeType":"YulFunctionCall","src":"20554:53:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20544:6:5"}]}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20331:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20342:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20354:6:5","type":""}],"src":"20295:329:5"},{"body":{"nodeType":"YulBlock","src":"20674:147:5","statements":[{"nodeType":"YulAssignment","src":"20684:25:5","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20707:1:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"20689:17:5"},"nodeType":"YulFunctionCall","src":"20689:20:5"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"20684:1:5"}]},{"nodeType":"YulAssignment","src":"20718:25:5","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"20741:1:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"20723:17:5"},"nodeType":"YulFunctionCall","src":"20723:20:5"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"20718:1:5"}]},{"nodeType":"YulAssignment","src":"20752:16:5","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20763:1:5"},{"name":"y","nodeType":"YulIdentifier","src":"20766:1:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20759:3:5"},"nodeType":"YulFunctionCall","src":"20759:9:5"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"20752:3:5"}]},{"body":{"nodeType":"YulBlock","src":"20792:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"20794:16:5"},"nodeType":"YulFunctionCall","src":"20794:18:5"},"nodeType":"YulExpressionStatement","src":"20794:18:5"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20784:1:5"},{"name":"sum","nodeType":"YulIdentifier","src":"20787:3:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20781:2:5"},"nodeType":"YulFunctionCall","src":"20781:10:5"},"nodeType":"YulIf","src":"20778:36:5"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"20661:1:5","type":""},{"name":"y","nodeType":"YulTypedName","src":"20664:1:5","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"20670:3:5","type":""}],"src":"20630:191:5"},{"body":{"nodeType":"YulBlock","src":"20870:190:5","statements":[{"nodeType":"YulAssignment","src":"20880:33:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20907:5:5"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"20889:17:5"},"nodeType":"YulFunctionCall","src":"20889:24:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"20880:5:5"}]},{"body":{"nodeType":"YulBlock","src":"21003:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"21005:16:5"},"nodeType":"YulFunctionCall","src":"21005:18:5"},"nodeType":"YulExpressionStatement","src":"21005:18:5"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20928:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"20935:66:5","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"20925:2:5"},"nodeType":"YulFunctionCall","src":"20925:77:5"},"nodeType":"YulIf","src":"20922:103:5"},{"nodeType":"YulAssignment","src":"21034:20:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21045:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"21052:1:5","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21041:3:5"},"nodeType":"YulFunctionCall","src":"21041:13:5"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"21034:3:5"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20856:5:5","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"20866:3:5","type":""}],"src":"20827:233:5"},{"body":{"nodeType":"YulBlock","src":"21113:32:5","statements":[{"nodeType":"YulAssignment","src":"21123:16:5","value":{"name":"value","nodeType":"YulIdentifier","src":"21134:5:5"},"variableNames":[{"name":"aligned","nodeType":"YulIdentifier","src":"21123:7:5"}]}]},"name":"leftAlign_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21095:5:5","type":""}],"returnVariables":[{"name":"aligned","nodeType":"YulTypedName","src":"21105:7:5","type":""}],"src":"21066:79:5"},{"body":{"nodeType":"YulBlock","src":"21234:74:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21251:3:5"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21294:5:5"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"21276:17:5"},"nodeType":"YulFunctionCall","src":"21276:24:5"}],"functionName":{"name":"leftAlign_t_bytes32","nodeType":"YulIdentifier","src":"21256:19:5"},"nodeType":"YulFunctionCall","src":"21256:45:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21244:6:5"},"nodeType":"YulFunctionCall","src":"21244:58:5"},"nodeType":"YulExpressionStatement","src":"21244:58:5"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21222:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"21229:3:5","type":""}],"src":"21151:157:5"},{"body":{"nodeType":"YulBlock","src":"21430:140:5","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21503:6:5"},{"name":"pos","nodeType":"YulIdentifier","src":"21512:3:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"21441:61:5"},"nodeType":"YulFunctionCall","src":"21441:75:5"},"nodeType":"YulExpressionStatement","src":"21441:75:5"},{"nodeType":"YulAssignment","src":"21525:19:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21536:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"21541:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21532:3:5"},"nodeType":"YulFunctionCall","src":"21532:12:5"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"21525:3:5"}]},{"nodeType":"YulAssignment","src":"21554:10:5","value":{"name":"pos","nodeType":"YulIdentifier","src":"21561:3:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"21554:3:5"}]}]},"name":"abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21409:3:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21415:6:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"21426:3:5","type":""}],"src":"21314:256:5"},{"body":{"nodeType":"YulBlock","src":"21634:40:5","statements":[{"nodeType":"YulAssignment","src":"21645:22:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21661:5:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21655:5:5"},"nodeType":"YulFunctionCall","src":"21655:12:5"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"21645:6:5"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21617:5:5","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"21627:6:5","type":""}],"src":"21576:98:5"},{"body":{"nodeType":"YulBlock","src":"21793:34:5","statements":[{"nodeType":"YulAssignment","src":"21803:18:5","value":{"name":"pos","nodeType":"YulIdentifier","src":"21818:3:5"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"21803:11:5"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21765:3:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"21770:6:5","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21781:11:5","type":""}],"src":"21680:147:5"},{"body":{"nodeType":"YulBlock","src":"21895:184:5","statements":[{"nodeType":"YulVariableDeclaration","src":"21905:10:5","value":{"kind":"number","nodeType":"YulLiteral","src":"21914:1:5","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"21909:1:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"21974:63:5","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"21999:3:5"},{"name":"i","nodeType":"YulIdentifier","src":"22004:1:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21995:3:5"},"nodeType":"YulFunctionCall","src":"21995:11:5"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"22018:3:5"},{"name":"i","nodeType":"YulIdentifier","src":"22023:1:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22014:3:5"},"nodeType":"YulFunctionCall","src":"22014:11:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22008:5:5"},"nodeType":"YulFunctionCall","src":"22008:18:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21988:6:5"},"nodeType":"YulFunctionCall","src":"21988:39:5"},"nodeType":"YulExpressionStatement","src":"21988:39:5"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21935:1:5"},{"name":"length","nodeType":"YulIdentifier","src":"21938:6:5"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"21932:2:5"},"nodeType":"YulFunctionCall","src":"21932:13:5"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"21946:19:5","statements":[{"nodeType":"YulAssignment","src":"21948:15:5","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21957:1:5"},{"kind":"number","nodeType":"YulLiteral","src":"21960:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21953:3:5"},"nodeType":"YulFunctionCall","src":"21953:10:5"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"21948:1:5"}]}]},"pre":{"nodeType":"YulBlock","src":"21928:3:5","statements":[]},"src":"21924:113:5"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"22057:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"22062:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22053:3:5"},"nodeType":"YulFunctionCall","src":"22053:16:5"},{"kind":"number","nodeType":"YulLiteral","src":"22071:1:5","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22046:6:5"},"nodeType":"YulFunctionCall","src":"22046:27:5"},"nodeType":"YulExpressionStatement","src":"22046:27:5"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"21877:3:5","type":""},{"name":"dst","nodeType":"YulTypedName","src":"21882:3:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"21887:6:5","type":""}],"src":"21833:246:5"},{"body":{"nodeType":"YulBlock","src":"22193:278:5","statements":[{"nodeType":"YulVariableDeclaration","src":"22203:52:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22249:5:5"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"22217:31:5"},"nodeType":"YulFunctionCall","src":"22217:38:5"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"22207:6:5","type":""}]},{"nodeType":"YulAssignment","src":"22264:95:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22347:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"22352:6:5"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"22271:75:5"},"nodeType":"YulFunctionCall","src":"22271:88:5"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"22264:3:5"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22407:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"22414:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22403:3:5"},"nodeType":"YulFunctionCall","src":"22403:16:5"},{"name":"pos","nodeType":"YulIdentifier","src":"22421:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"22426:6:5"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"22368:34:5"},"nodeType":"YulFunctionCall","src":"22368:65:5"},"nodeType":"YulExpressionStatement","src":"22368:65:5"},{"nodeType":"YulAssignment","src":"22442:23:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22453:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"22458:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22449:3:5"},"nodeType":"YulFunctionCall","src":"22449:16:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"22442:3:5"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"22174:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"22181:3:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"22189:3:5","type":""}],"src":"22085:386:5"},{"body":{"nodeType":"YulBlock","src":"22611:137:5","statements":[{"nodeType":"YulAssignment","src":"22622:100:5","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22709:6:5"},{"name":"pos","nodeType":"YulIdentifier","src":"22718:3:5"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"22629:79:5"},"nodeType":"YulFunctionCall","src":"22629:93:5"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"22622:3:5"}]},{"nodeType":"YulAssignment","src":"22732:10:5","value":{"name":"pos","nodeType":"YulIdentifier","src":"22739:3:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"22732:3:5"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"22590:3:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22596:6:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"22607:3:5","type":""}],"src":"22477:271:5"},{"body":{"nodeType":"YulBlock","src":"22817:80:5","statements":[{"nodeType":"YulAssignment","src":"22827:22:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22842:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22836:5:5"},"nodeType":"YulFunctionCall","src":"22836:13:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"22827:5:5"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22885:5:5"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"22858:26:5"},"nodeType":"YulFunctionCall","src":"22858:33:5"},"nodeType":"YulExpressionStatement","src":"22858:33:5"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"22795:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"22803:3:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"22811:5:5","type":""}],"src":"22754:143:5"},{"body":{"nodeType":"YulBlock","src":"22980:274:5","statements":[{"body":{"nodeType":"YulBlock","src":"23026:83:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"23028:77:5"},"nodeType":"YulFunctionCall","src":"23028:79:5"},"nodeType":"YulExpressionStatement","src":"23028:79:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23001:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"23010:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22997:3:5"},"nodeType":"YulFunctionCall","src":"22997:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"23022:2:5","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22993:3:5"},"nodeType":"YulFunctionCall","src":"22993:32:5"},"nodeType":"YulIf","src":"22990:119:5"},{"nodeType":"YulBlock","src":"23119:128:5","statements":[{"nodeType":"YulVariableDeclaration","src":"23134:15:5","value":{"kind":"number","nodeType":"YulLiteral","src":"23148:1:5","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"23138:6:5","type":""}]},{"nodeType":"YulAssignment","src":"23163:74:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23209:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"23220:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23205:3:5"},"nodeType":"YulFunctionCall","src":"23205:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"23229:7:5"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"23173:31:5"},"nodeType":"YulFunctionCall","src":"23173:64:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23163:6:5"}]}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22950:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22961:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22973:6:5","type":""}],"src":"22903:351:5"},{"body":{"nodeType":"YulBlock","src":"23288:152:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23305:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23308:77:5","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23298:6:5"},"nodeType":"YulFunctionCall","src":"23298:88:5"},"nodeType":"YulExpressionStatement","src":"23298:88:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23402:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"23405:4:5","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23395:6:5"},"nodeType":"YulFunctionCall","src":"23395:15:5"},"nodeType":"YulExpressionStatement","src":"23395:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23426:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23429:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23419:6:5"},"nodeType":"YulFunctionCall","src":"23419:15:5"},"nodeType":"YulExpressionStatement","src":"23419:15:5"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"23260:180:5"},{"body":{"nodeType":"YulBlock","src":"23507:51:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"23524:3:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23545:5:5"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"23529:15:5"},"nodeType":"YulFunctionCall","src":"23529:22:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23517:6:5"},"nodeType":"YulFunctionCall","src":"23517:35:5"},"nodeType":"YulExpressionStatement","src":"23517:35:5"}]},"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23495:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"23502:3:5","type":""}],"src":"23446:112:5"},{"body":{"nodeType":"YulBlock","src":"23742:367:5","statements":[{"nodeType":"YulAssignment","src":"23752:27:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23764:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23775:3:5","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23760:3:5"},"nodeType":"YulFunctionCall","src":"23760:19:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23752:4:5"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23833:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23846:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23857:1:5","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23842:3:5"},"nodeType":"YulFunctionCall","src":"23842:17:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"23789:43:5"},"nodeType":"YulFunctionCall","src":"23789:71:5"},"nodeType":"YulExpressionStatement","src":"23789:71:5"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23910:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23923:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23934:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23919:3:5"},"nodeType":"YulFunctionCall","src":"23919:18:5"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulIdentifier","src":"23870:39:5"},"nodeType":"YulFunctionCall","src":"23870:68:5"},"nodeType":"YulExpressionStatement","src":"23870:68:5"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"23992:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24005:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"24016:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24001:3:5"},"nodeType":"YulFunctionCall","src":"24001:18:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"23948:43:5"},"nodeType":"YulFunctionCall","src":"23948:72:5"},"nodeType":"YulExpressionStatement","src":"23948:72:5"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"24074:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24087:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"24098:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24083:3:5"},"nodeType":"YulFunctionCall","src":"24083:18:5"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"24030:43:5"},"nodeType":"YulFunctionCall","src":"24030:72:5"},"nodeType":"YulExpressionStatement","src":"24030:72:5"}]},"name":"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23690:9:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"23702:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"23710:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23718:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23726:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23737:4:5","type":""}],"src":"23564:545:5"}]},"contents":"{\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct OracleAttestationData\n function abi_decode_t_struct$_OracleAttestationData_$547_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 96) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // struct Validator[]\n function abi_decode_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x40)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // struct Signature[]\n function abi_decode_t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x60)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_struct$_OracleAttestationData_$547_calldata_ptrt_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_OracleAttestationData_$547_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function validator_revert_t_uint64(value) {\n if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint64(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint64(value)\n }\n\n function abi_decode_tuple_t_bytes32t_uint64t_uint256t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value5, value6 := abi_decode_t_array$_t_struct$_Signature_$567_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_Validator_$572_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function calldata_access_t_address(baseRef, ptr) -> value {\n value := abi_decode_t_address(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function calldata_access_t_uint256(baseRef, ptr) -> value {\n value := abi_decode_t_uint256(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n // struct Validator -> struct Validator\n function abi_encode_t_struct$_Validator_$572_calldata_ptr_to_t_struct$_Validator_$572_memory_ptr(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // addr\n\n let memberValue0 := calldata_access_t_address(value, add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // power\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encodeUpdatedPos_t_struct$_Validator_$572_calldata_ptr_to_t_struct$_Validator_$572_memory_ptr(value0, pos) -> updatedPos {\n abi_encode_t_struct$_Validator_$572_calldata_ptr_to_t_struct$_Validator_$572_memory_ptr(value0, pos)\n updatedPos := add(pos, 0x40)\n }\n\n function calldata_access_t_struct$_Validator_$572_calldata_ptr(baseRef, ptr) -> value {\n value := ptr\n }\n\n function array_nextElement_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x40)\n }\n\n // struct Validator[] -> struct Validator[]\n function abi_encode_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$572_memory_ptr_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_struct$_Validator_$572_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_struct$_Validator_$572_calldata_ptr(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_struct$_Validator_$572_calldata_ptr_to_t_struct$_Validator_$572_memory_ptr(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_struct$_Validator_$572_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_Validator_$572_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$572_memory_ptr_$dyn_memory_ptr_fromStack(value0, value1, tail)\n\n }\n\n function revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() {\n revert(0, 0)\n }\n\n function revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() {\n revert(0, 0)\n }\n\n function revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() {\n revert(0, 0)\n }\n\n function access_calldata_tail_t_struct$_ReportData_$560_calldata_ptr(base_ref, ptr_to_tail) -> addr {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n length := calldataload(addr)\n if gt(length, 0xffffffffffffffff) { revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() }\n addr := add(addr, 32)\n if sgt(addr, sub(calldatasize(), mul(length, 0x01))) { revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() }\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes_calldata_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_bytes32_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__fromStack_reversed(headStart , value10, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 320)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value2, value3, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value6, add(headStart, 160))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value7, add(headStart, 192))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value8, add(headStart, 224))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value9, add(headStart, 256))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value10, add(headStart, 288))\n\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint64_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint64(value)))\n }\n\n function abi_encode_t_uint64_to_t_uint256_fromStack(value, pos) {\n mstore(pos, convert_t_uint64_to_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint64_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint64_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_bytes32_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_uint256_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\n }\n\n function abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\n\n }\n\n}\n","id":5,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100b45760003560e01c80635e0d3b0f116100715780635e0d3b0f146101695780636cf6d6751461018557806384330d4c146101a3578063af082a7d146101bf578063ba95ec27146101dd578063d5f39488146101fb576100b4565b8063158ef93e146100b9578063185bf52b146100d75780631a8bcd34146100f35780634394f6f314610111578063452a93201461012d5780634f76f1ee1461014b575b600080fd5b6100c1610219565b6040516100ce9190610d1b565b60405180910390f35b6100f160048036038101906100ec9190610dac565b61022c565b005b6100fb610397565b6040516101089190610e0e565b60405180910390f35b61012b60048036038101906101269190610e29565b61039d565b005b6101356104a8565b6040516101429190610ed1565b60405180910390f35b6101536104cc565b6040516101609190610e0e565b60405180910390f35b610183600480360381019061017e9190610fcb565b6104d2565b005b61018d610682565b60405161019a9190610e0e565b60405180910390f35b6101bd60048036038101906101b891906110bc565b610688565b005b6101c761084b565b6040516101d49190611187565b60405180910390f35b6101e5610851565b6040516101f29190610e0e565b60405180910390f35b610203610857565b6040516102109190610ed1565b60405180910390f35b600560149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102b1576040517fef6d0f0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546103e86004546102c49190611200565b426102cf9190611231565b1015610307576040517f1c36ced200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004548211610342576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260028190555081600481905550806001819055507fd7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb0983838360405161038a93929190611265565b60405180910390a1505050565b6103e881565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610424576040517f8b906c9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560149054906101000a900460ff161561046b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff0219169083151502179055508360028190555082600481905550816003819055508060018190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b818190508484905014610511576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015461054b60025460045487876040516020016105309291906113fb565b6040516020818303038152906040528051906020012061087d565b14610582576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b86600001358780602001906105bd919061142e565b80600001906105cc9190611456565b8980602001906105dc919061142e565b602001358a80602001906105f0919061142e565b604001358b8060200190610604919061142e565b606001358c8060200190610618919061142e565b608001356001548e604001358f8060200190610634919061142e565b60a001356040516020016106529b9a99989796959493929190611517565b60405160208183030381529060405280519060200120905061067a85858585856002546108d8565b505050505050565b60035481565b8181905084849050146106c7576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454851015610703576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008667ffffffffffffffff1603610747576040517fc3b70c8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848460405160200161075c9291906113fb565b6040516020818303038152906040528051906020012090506001546107866002546004548461087d565b146107bd576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006107d48867ffffffffffffffff16888b61087d565b90506107e686868686856002546108d8565b806001819055508767ffffffffffffffff16600281905550866004819055507fe304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e88888b604051610838939291906115f7565b60405180910390a1505050505050505050565b60015481565b60025481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f636865636b706f696e740000000000000000000000000000000000000000000060001b8484846040516020016108b9949392919061162e565b6040516020818303038152906040528051906020012090509392505050565b6003546103e86004546108eb9190611200565b426108f69190611231565b111561092e576040517fe5e5e46400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b87879050811015610a8f576000801b86868381811061095457610953611673565b5b9050606002016020013514801561098957506000801b86868381811061097d5761097c611673565b5b90506060020160400135145b80156109c2575060008686838181106109a5576109a4611673565b5b90506060020160000160208101906109bd91906116db565b60ff16145b610a7c57610a138888838181106109dc576109db611673565b5b90506040020160000160208101906109f49190611708565b85888885818110610a0857610a07611673565b5b905060600201610ad3565b610a49576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b878782818110610a5c57610a5b611673565b5b9050604002016020013582610a719190611735565b915082821015610a8f575b8080610a8790611769565b915050610932565b5081811015610aca576040517fcabeb65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b6000600283604051602001610ae891906117d2565b604051602081830303815290604052604051610b04919061185e565b602060405180830381855afa158015610b21573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610b44919061188a565b9250600080610b6f85856000016020810190610b6091906116db565b86602001358760400135610c0c565b509150915060006003811115610b8857610b876118b7565b5b816003811115610b9b57610b9a6118b7565b5b14610bd2576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115610c4c576000600385925092509250610cf6565b600060018888888860405160008152602001604052604051610c7194939291906118f5565b6020604051602081039080840390855afa158015610c93573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ce757600060016000801b93509350935050610cf6565b8060008060001b935093509350505b9450945094915050565b60008115159050919050565b610d1581610d00565b82525050565b6000602082019050610d306000830184610d0c565b92915050565b600080fd5b600080fd5b6000819050919050565b610d5381610d40565b8114610d5e57600080fd5b50565b600081359050610d7081610d4a565b92915050565b6000819050919050565b610d8981610d76565b8114610d9457600080fd5b50565b600081359050610da681610d80565b92915050565b600080600060608486031215610dc557610dc4610d36565b5b6000610dd386828701610d61565b9350506020610de486828701610d61565b9250506040610df586828701610d97565b9150509250925092565b610e0881610d40565b82525050565b6000602082019050610e236000830184610dff565b92915050565b60008060008060808587031215610e4357610e42610d36565b5b6000610e5187828801610d61565b9450506020610e6287828801610d61565b9350506040610e7387828801610d61565b9250506060610e8487828801610d97565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ebb82610e90565b9050919050565b610ecb81610eb0565b82525050565b6000602082019050610ee66000830184610ec2565b92915050565b600080fd5b600060608284031215610f0757610f06610eec565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f3557610f34610f10565b5b8235905067ffffffffffffffff811115610f5257610f51610f15565b5b602083019150836040820283011115610f6e57610f6d610f1a565b5b9250929050565b60008083601f840112610f8b57610f8a610f10565b5b8235905067ffffffffffffffff811115610fa857610fa7610f15565b5b602083019150836060820283011115610fc457610fc3610f1a565b5b9250929050565b600080600080600060608688031215610fe757610fe6610d36565b5b600086013567ffffffffffffffff81111561100557611004610d3b565b5b61101188828901610ef1565b955050602086013567ffffffffffffffff81111561103257611031610d3b565b5b61103e88828901610f1f565b9450945050604086013567ffffffffffffffff81111561106157611060610d3b565b5b61106d88828901610f75565b92509250509295509295909350565b600067ffffffffffffffff82169050919050565b6110998161107c565b81146110a457600080fd5b50565b6000813590506110b681611090565b92915050565b600080600080600080600060a0888a0312156110db576110da610d36565b5b60006110e98a828b01610d97565b97505060206110fa8a828b016110a7565b965050604061110b8a828b01610d61565b955050606088013567ffffffffffffffff81111561112c5761112b610d3b565b5b6111388a828b01610f1f565b9450945050608088013567ffffffffffffffff81111561115b5761115a610d3b565b5b6111678a828b01610f75565b925092505092959891949750929550565b61118181610d76565b82525050565b600060208201905061119c6000830184611178565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061120b82610d40565b915061121683610d40565b925082611226576112256111a2565b5b828204905092915050565b600061123c82610d40565b915061124783610d40565b925082820390508181111561125f5761125e6111d1565b5b92915050565b600060608201905061127a6000830186610dff565b6112876020830185610dff565b6112946040830184611178565b949350505050565b600082825260208201905092915050565b6000819050919050565b6112c081610eb0565b81146112cb57600080fd5b50565b6000813590506112dd816112b7565b92915050565b60006112f260208401846112ce565b905092915050565b61130381610eb0565b82525050565b60006113186020840184610d61565b905092915050565b61132981610d40565b82525050565b6040820161134060008301836112e3565b61134d60008501826112fa565b5061135b6020830183611309565b6113686020850182611320565b50505050565b600061137a838361132f565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006113aa838561129c565b93506113b5826112ad565b8060005b858110156113ee576113cb8284611386565b6113d5888261136e565b97506113e083611391565b9250506001810190506113b9565b5085925050509392505050565b6000602082019050818103600083015261141681848661139e565b90509392505050565b600080fd5b600080fd5b600080fd5b60008235600160c00383360303811261144a5761144961141f565b5b80830191505092915050565b600080833560016020038436030381126114735761147261141f565b5b80840192508235915067ffffffffffffffff82111561149557611494611424565b5b6020830192506001820236038313156114b1576114b0611429565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006114f683856114b9565b93506115038385846114ca565b61150c836114d9565b840190509392505050565b60006101408201905061152d600083018e611178565b61153a602083018d611178565b818103604083015261154d818b8d6114ea565b905061155c606083018a610dff565b6115696080830189610dff565b61157660a0830188610dff565b61158360c0830187610dff565b61159060e0830186611178565b61159e610100830185610dff565b6115ac610120830184610dff565b9c9b505050505050505050505050565b6000819050919050565b60006115e16115dc6115d78461107c565b6115bc565b610d40565b9050919050565b6115f1816115c6565b82525050565b600060608201905061160c60008301866115e8565b6116196020830185610dff565b6116266040830184611178565b949350505050565b60006080820190506116436000830187611178565b6116506020830186610dff565b61165d6040830185610dff565b61166a6060830184611178565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6116b8816116a2565b81146116c357600080fd5b50565b6000813590506116d5816116af565b92915050565b6000602082840312156116f1576116f0610d36565b5b60006116ff848285016116c6565b91505092915050565b60006020828403121561171e5761171d610d36565b5b600061172c848285016112ce565b91505092915050565b600061174082610d40565b915061174b83610d40565b9250828201905080821115611763576117626111d1565b5b92915050565b600061177482610d40565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117a6576117a56111d1565b5b600182019050919050565b6000819050919050565b6117cc6117c782610d76565b6117b1565b82525050565b60006117de82846117bb565b60208201915081905092915050565b600081519050919050565b600081905092915050565b60005b83811015611821578082015181840152602081019050611806565b60008484015250505050565b6000611838826117ed565b61184281856117f8565b9350611852818560208601611803565b80840191505092915050565b600061186a828461182d565b915081905092915050565b60008151905061188481610d80565b92915050565b6000602082840312156118a05761189f610d36565b5b60006118ae84828501611875565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6118ef816116a2565b82525050565b600060808201905061190a6000830187611178565b61191760208301866118e6565b6119246040830185611178565b6119316060830184611178565b9594505050505056fea264697066735822122048b3fd1d4f4bdee146eb2956e18719d2107695fb35d8948a79bf2a2bc5a5a4a464736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5E0D3B0F GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x5E0D3B0F EQ PUSH2 0x169 JUMPI DUP1 PUSH4 0x6CF6D675 EQ PUSH2 0x185 JUMPI DUP1 PUSH4 0x84330D4C EQ PUSH2 0x1A3 JUMPI DUP1 PUSH4 0xAF082A7D EQ PUSH2 0x1BF JUMPI DUP1 PUSH4 0xBA95EC27 EQ PUSH2 0x1DD JUMPI DUP1 PUSH4 0xD5F39488 EQ PUSH2 0x1FB JUMPI PUSH2 0xB4 JUMP JUMPDEST DUP1 PUSH4 0x158EF93E EQ PUSH2 0xB9 JUMPI DUP1 PUSH4 0x185BF52B EQ PUSH2 0xD7 JUMPI DUP1 PUSH4 0x1A8BCD34 EQ PUSH2 0xF3 JUMPI DUP1 PUSH4 0x4394F6F3 EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x452A9320 EQ PUSH2 0x12D JUMPI DUP1 PUSH4 0x4F76F1EE EQ PUSH2 0x14B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC1 PUSH2 0x219 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0xD1B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xEC SWAP2 SWAP1 PUSH2 0xDAC JUMP JUMPDEST PUSH2 0x22C JUMP JUMPDEST STOP JUMPDEST PUSH2 0xFB PUSH2 0x397 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x108 SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x12B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x126 SWAP2 SWAP1 PUSH2 0xE29 JUMP JUMPDEST PUSH2 0x39D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x135 PUSH2 0x4A8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x142 SWAP2 SWAP1 PUSH2 0xED1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x153 PUSH2 0x4CC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x160 SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x183 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17E SWAP2 SWAP1 PUSH2 0xFCB JUMP JUMPDEST PUSH2 0x4D2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x18D PUSH2 0x682 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1BD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x10BC JUMP JUMPDEST PUSH2 0x688 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C7 PUSH2 0x84B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D4 SWAP2 SWAP1 PUSH2 0x1187 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E5 PUSH2 0x851 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F2 SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x203 PUSH2 0x857 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x210 SWAP2 SWAP1 PUSH2 0xED1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2B1 JUMPI PUSH1 0x40 MLOAD PUSH32 0xEF6D0F0200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x2C4 SWAP2 SWAP1 PUSH2 0x1200 JUMP JUMPDEST TIMESTAMP PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0x1231 JUMP JUMPDEST LT ISZERO PUSH2 0x307 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1C36CED200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP3 GT PUSH2 0x342 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH32 0xD7067F3840022E90166B8566F9982288B89EC7479B8EB30FAD06290F18C8CB09 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x38A SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1265 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x3E8 DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x424 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8B906C9700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x46B JUMPI PUSH1 0x40 MLOAD PUSH32 0xDC149F000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x5 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x511 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x54B PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x530 SWAP3 SWAP2 SWAP1 PUSH2 0x13FB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x87D JUMP JUMPDEST EQ PUSH2 0x582 JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP7 PUSH1 0x0 ADD CALLDATALOAD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x5BD SWAP2 SWAP1 PUSH2 0x142E JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x5CC SWAP2 SWAP1 PUSH2 0x1456 JUMP JUMPDEST DUP10 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x5DC SWAP2 SWAP1 PUSH2 0x142E JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP11 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x5F0 SWAP2 SWAP1 PUSH2 0x142E JUMP JUMPDEST PUSH1 0x40 ADD CALLDATALOAD DUP12 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x604 SWAP2 SWAP1 PUSH2 0x142E JUMP JUMPDEST PUSH1 0x60 ADD CALLDATALOAD DUP13 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x618 SWAP2 SWAP1 PUSH2 0x142E JUMP JUMPDEST PUSH1 0x80 ADD CALLDATALOAD PUSH1 0x1 SLOAD DUP15 PUSH1 0x40 ADD CALLDATALOAD DUP16 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x634 SWAP2 SWAP1 PUSH2 0x142E JUMP JUMPDEST PUSH1 0xA0 ADD CALLDATALOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x652 SWAP12 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1517 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH2 0x67A DUP6 DUP6 DUP6 DUP6 DUP6 PUSH1 0x2 SLOAD PUSH2 0x8D8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x6C7 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0x703 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND SUB PUSH2 0x747 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC3B70C8800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x75C SWAP3 SWAP2 SWAP1 PUSH2 0x13FB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 SLOAD PUSH2 0x786 PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP5 PUSH2 0x87D JUMP JUMPDEST EQ PUSH2 0x7BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x7D4 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP9 DUP12 PUSH2 0x87D JUMP JUMPDEST SWAP1 POP PUSH2 0x7E6 DUP7 DUP7 DUP7 DUP7 DUP6 PUSH1 0x2 SLOAD PUSH2 0x8D8 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP8 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP7 PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH32 0xE304B71F81A1AAF6D714401DE28BA1EBDBB5FF9C5FEE59EF2A6EB984F9E8DA7E DUP9 DUP9 DUP12 PUSH1 0x40 MLOAD PUSH2 0x838 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15F7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x636865636B706F696E7400000000000000000000000000000000000000000000 PUSH1 0x0 SHL DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x8B9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x162E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x8EB SWAP2 SWAP1 PUSH2 0x1200 JUMP JUMPDEST TIMESTAMP PUSH2 0x8F6 SWAP2 SWAP1 PUSH2 0x1231 JUMP JUMPDEST GT ISZERO PUSH2 0x92E JUMPI PUSH1 0x40 MLOAD PUSH32 0xE5E5E46400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST DUP8 DUP8 SWAP1 POP DUP2 LT ISZERO PUSH2 0xA8F JUMPI PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x954 JUMPI PUSH2 0x953 PUSH2 0x1673 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x20 ADD CALLDATALOAD EQ DUP1 ISZERO PUSH2 0x989 JUMPI POP PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x97D JUMPI PUSH2 0x97C PUSH2 0x1673 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x40 ADD CALLDATALOAD EQ JUMPDEST DUP1 ISZERO PUSH2 0x9C2 JUMPI POP PUSH1 0x0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x9A5 JUMPI PUSH2 0x9A4 PUSH2 0x1673 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x9BD SWAP2 SWAP1 PUSH2 0x16DB JUMP JUMPDEST PUSH1 0xFF AND EQ JUMPDEST PUSH2 0xA7C JUMPI PUSH2 0xA13 DUP9 DUP9 DUP4 DUP2 DUP2 LT PUSH2 0x9DC JUMPI PUSH2 0x9DB PUSH2 0x1673 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x9F4 SWAP2 SWAP1 PUSH2 0x1708 JUMP JUMPDEST DUP6 DUP9 DUP9 DUP6 DUP2 DUP2 LT PUSH2 0xA08 JUMPI PUSH2 0xA07 PUSH2 0x1673 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH2 0xAD3 JUMP JUMPDEST PUSH2 0xA49 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP8 DUP8 DUP3 DUP2 DUP2 LT PUSH2 0xA5C JUMPI PUSH2 0xA5B PUSH2 0x1673 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x20 ADD CALLDATALOAD DUP3 PUSH2 0xA71 SWAP2 SWAP1 PUSH2 0x1735 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 LT ISZERO PUSH2 0xA8F JUMPI JUMPDEST DUP1 DUP1 PUSH2 0xA87 SWAP1 PUSH2 0x1769 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x932 JUMP JUMPDEST POP DUP2 DUP2 LT ISZERO PUSH2 0xACA JUMPI PUSH1 0x40 MLOAD PUSH32 0xCABEB65500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xAE8 SWAP2 SWAP1 PUSH2 0x17D2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xB04 SWAP2 SWAP1 PUSH2 0x185E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB21 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB44 SWAP2 SWAP1 PUSH2 0x188A JUMP JUMPDEST SWAP3 POP PUSH1 0x0 DUP1 PUSH2 0xB6F DUP6 DUP6 PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xB60 SWAP2 SWAP1 PUSH2 0x16DB JUMP JUMPDEST DUP7 PUSH1 0x20 ADD CALLDATALOAD DUP8 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0xC0C JUMP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB88 JUMPI PUSH2 0xB87 PUSH2 0x18B7 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB9B JUMPI PUSH2 0xB9A PUSH2 0x18B7 JUMP JUMPDEST JUMPDEST EQ PUSH2 0xBD2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP5 PUSH1 0x0 SHR GT ISZERO PUSH2 0xC4C JUMPI PUSH1 0x0 PUSH1 0x3 DUP6 SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0xCF6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xC71 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x18F5 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC93 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xCE7 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP1 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP PUSH2 0xCF6 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD15 DUP2 PUSH2 0xD00 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD30 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD0C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD53 DUP2 PUSH2 0xD40 JUMP JUMPDEST DUP2 EQ PUSH2 0xD5E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD70 DUP2 PUSH2 0xD4A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD89 DUP2 PUSH2 0xD76 JUMP JUMPDEST DUP2 EQ PUSH2 0xD94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xDA6 DUP2 PUSH2 0xD80 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xDC5 JUMPI PUSH2 0xDC4 PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xDD3 DUP7 DUP3 DUP8 ADD PUSH2 0xD61 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xDE4 DUP7 DUP3 DUP8 ADD PUSH2 0xD61 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xDF5 DUP7 DUP3 DUP8 ADD PUSH2 0xD97 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0xE08 DUP2 PUSH2 0xD40 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xE23 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDFF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xE43 JUMPI PUSH2 0xE42 PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE51 DUP8 DUP3 DUP9 ADD PUSH2 0xD61 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xE62 DUP8 DUP3 DUP9 ADD PUSH2 0xD61 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0xE73 DUP8 DUP3 DUP9 ADD PUSH2 0xD61 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0xE84 DUP8 DUP3 DUP9 ADD PUSH2 0xD97 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEBB DUP3 PUSH2 0xE90 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xECB DUP2 PUSH2 0xEB0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEE6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xEC2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF07 JUMPI PUSH2 0xF06 PUSH2 0xEEC JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF35 JUMPI PUSH2 0xF34 PUSH2 0xF10 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF52 JUMPI PUSH2 0xF51 PUSH2 0xF15 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xF6E JUMPI PUSH2 0xF6D PUSH2 0xF1A JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF8B JUMPI PUSH2 0xF8A PUSH2 0xF10 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFA8 JUMPI PUSH2 0xFA7 PUSH2 0xF15 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xFC4 JUMPI PUSH2 0xFC3 PUSH2 0xF1A JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0xFE7 JUMPI PUSH2 0xFE6 PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1005 JUMPI PUSH2 0x1004 PUSH2 0xD3B JUMP JUMPDEST JUMPDEST PUSH2 0x1011 DUP9 DUP3 DUP10 ADD PUSH2 0xEF1 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1032 JUMPI PUSH2 0x1031 PUSH2 0xD3B JUMP JUMPDEST JUMPDEST PUSH2 0x103E DUP9 DUP3 DUP10 ADD PUSH2 0xF1F JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1061 JUMPI PUSH2 0x1060 PUSH2 0xD3B JUMP JUMPDEST JUMPDEST PUSH2 0x106D DUP9 DUP3 DUP10 ADD PUSH2 0xF75 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1099 DUP2 PUSH2 0x107C JUMP JUMPDEST DUP2 EQ PUSH2 0x10A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x10B6 DUP2 PUSH2 0x1090 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x10DB JUMPI PUSH2 0x10DA PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10E9 DUP11 DUP3 DUP12 ADD PUSH2 0xD97 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x10FA DUP11 DUP3 DUP12 ADD PUSH2 0x10A7 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x110B DUP11 DUP3 DUP12 ADD PUSH2 0xD61 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x112C JUMPI PUSH2 0x112B PUSH2 0xD3B JUMP JUMPDEST JUMPDEST PUSH2 0x1138 DUP11 DUP3 DUP12 ADD PUSH2 0xF1F JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x115B JUMPI PUSH2 0x115A PUSH2 0xD3B JUMP JUMPDEST JUMPDEST PUSH2 0x1167 DUP11 DUP3 DUP12 ADD PUSH2 0xF75 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH2 0x1181 DUP2 PUSH2 0xD76 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x119C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1178 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x120B DUP3 PUSH2 0xD40 JUMP JUMPDEST SWAP2 POP PUSH2 0x1216 DUP4 PUSH2 0xD40 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1226 JUMPI PUSH2 0x1225 PUSH2 0x11A2 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x123C DUP3 PUSH2 0xD40 JUMP JUMPDEST SWAP2 POP PUSH2 0x1247 DUP4 PUSH2 0xD40 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x125F JUMPI PUSH2 0x125E PUSH2 0x11D1 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x127A PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1287 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1294 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1178 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12C0 DUP2 PUSH2 0xEB0 JUMP JUMPDEST DUP2 EQ PUSH2 0x12CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x12DD DUP2 PUSH2 0x12B7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12F2 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x12CE JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1303 DUP2 PUSH2 0xEB0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1318 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xD61 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1329 DUP2 PUSH2 0xD40 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0x1340 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x12E3 JUMP JUMPDEST PUSH2 0x134D PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x12FA JUMP JUMPDEST POP PUSH2 0x135B PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x1309 JUMP JUMPDEST PUSH2 0x1368 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x1320 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x137A DUP4 DUP4 PUSH2 0x132F JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13AA DUP4 DUP6 PUSH2 0x129C JUMP JUMPDEST SWAP4 POP PUSH2 0x13B5 DUP3 PUSH2 0x12AD JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x13EE JUMPI PUSH2 0x13CB DUP3 DUP5 PUSH2 0x1386 JUMP JUMPDEST PUSH2 0x13D5 DUP9 DUP3 PUSH2 0x136E JUMP JUMPDEST SWAP8 POP PUSH2 0x13E0 DUP4 PUSH2 0x1391 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x13B9 JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1416 DUP2 DUP5 DUP7 PUSH2 0x139E JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x144A JUMPI PUSH2 0x1449 PUSH2 0x141F JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x1473 JUMPI PUSH2 0x1472 PUSH2 0x141F JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1495 JUMPI PUSH2 0x1494 PUSH2 0x1424 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x14B1 JUMPI PUSH2 0x14B0 PUSH2 0x1429 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14F6 DUP4 DUP6 PUSH2 0x14B9 JUMP JUMPDEST SWAP4 POP PUSH2 0x1503 DUP4 DUP6 DUP5 PUSH2 0x14CA JUMP JUMPDEST PUSH2 0x150C DUP4 PUSH2 0x14D9 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP3 ADD SWAP1 POP PUSH2 0x152D PUSH1 0x0 DUP4 ADD DUP15 PUSH2 0x1178 JUMP JUMPDEST PUSH2 0x153A PUSH1 0x20 DUP4 ADD DUP14 PUSH2 0x1178 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x154D DUP2 DUP12 DUP14 PUSH2 0x14EA JUMP JUMPDEST SWAP1 POP PUSH2 0x155C PUSH1 0x60 DUP4 ADD DUP11 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1569 PUSH1 0x80 DUP4 ADD DUP10 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1576 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1583 PUSH1 0xC0 DUP4 ADD DUP8 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1590 PUSH1 0xE0 DUP4 ADD DUP7 PUSH2 0x1178 JUMP JUMPDEST PUSH2 0x159E PUSH2 0x100 DUP4 ADD DUP6 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x15AC PUSH2 0x120 DUP4 ADD DUP5 PUSH2 0xDFF JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15E1 PUSH2 0x15DC PUSH2 0x15D7 DUP5 PUSH2 0x107C JUMP JUMPDEST PUSH2 0x15BC JUMP JUMPDEST PUSH2 0xD40 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x15F1 DUP2 PUSH2 0x15C6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x160C PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x15E8 JUMP JUMPDEST PUSH2 0x1619 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x1626 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1178 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1643 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1178 JUMP JUMPDEST PUSH2 0x1650 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x165D PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xDFF JUMP JUMPDEST PUSH2 0x166A PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1178 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16B8 DUP2 PUSH2 0x16A2 JUMP JUMPDEST DUP2 EQ PUSH2 0x16C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x16D5 DUP2 PUSH2 0x16AF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x16F1 JUMPI PUSH2 0x16F0 PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16FF DUP5 DUP3 DUP6 ADD PUSH2 0x16C6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x171E JUMPI PUSH2 0x171D PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x172C DUP5 DUP3 DUP6 ADD PUSH2 0x12CE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1740 DUP3 PUSH2 0xD40 JUMP JUMPDEST SWAP2 POP PUSH2 0x174B DUP4 PUSH2 0xD40 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x1763 JUMPI PUSH2 0x1762 PUSH2 0x11D1 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1774 DUP3 PUSH2 0xD40 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x17A6 JUMPI PUSH2 0x17A5 PUSH2 0x11D1 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x17CC PUSH2 0x17C7 DUP3 PUSH2 0xD76 JUMP JUMPDEST PUSH2 0x17B1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17DE DUP3 DUP5 PUSH2 0x17BB JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1821 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1806 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1838 DUP3 PUSH2 0x17ED JUMP JUMPDEST PUSH2 0x1842 DUP2 DUP6 PUSH2 0x17F8 JUMP JUMPDEST SWAP4 POP PUSH2 0x1852 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1803 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x186A DUP3 DUP5 PUSH2 0x182D JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1884 DUP2 PUSH2 0xD80 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x18A0 JUMPI PUSH2 0x189F PUSH2 0xD36 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x18AE DUP5 DUP3 DUP6 ADD PUSH2 0x1875 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x18EF DUP2 PUSH2 0x16A2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x190A PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1178 JUMP JUMPDEST PUSH2 0x1917 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x18E6 JUMP JUMPDEST PUSH2 0x1924 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1178 JUMP JUMPDEST PUSH2 0x1931 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1178 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BASEFEE 0xB3 REVERT SAR 0x4F 0x4B 0xDE 0xE1 CHAINID 0xEB 0x29 JUMP 0xE1 DUP8 NOT 0xD2 LT PUSH23 0x95FB35D8948A79BF2A2BC5A5A4A464736F6C6343000813 STOP CALLER ","sourceMap":"975:10978:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1600:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4031:768;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1670:44;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3093:567;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1033:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1433:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7246:1482;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1331:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5304:1673;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1139:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1246:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1531:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1600;;;;;;;;;;;;;:::o;4031:768::-;4220:8;;;;;;;;;;4206:22;;:10;:22;;;4202:73;;4251:13;;;;;;;;;;;;;;4202:73;4345:15;;1710:4;4307:18;;:34;;;;:::i;:::-;4288:15;:54;;;;:::i;:::-;:72;4284:132;;;4383:22;;;;;;;;;;;;;;4284:132;4452:18;;4429:19;:41;4425:111;;4493:32;;;;;;;;;;;;;;4425:111;4562:15;4545:14;:32;;;;4608:19;4587:18;:40;;;;4666:23;4637:26;:52;;;;4704:88;4730:15;4747:19;4768:23;4704:88;;;;;;;;:::i;:::-;;;;;;;;4031:768;;;:::o;1670:44::-;1710:4;1670:44;:::o;3093:567::-;3295:8;;;;;;;;;;;3281:22;;:10;:22;;;3277:73;;3326:13;;;;;;;;;;;;;;3277:73;3363:11;;;;;;;;;;;3359:69;;;3397:20;;;;;;;;;;;;;;3359:69;3451:4;3437:11;;:18;;;;;;;;;;;;;;;;;;3482:15;3465:14;:32;;;;3528:19;3507:18;:40;;;;3575:16;3557:15;:34;;;;3630:23;3601:26;:52;;;;3093:567;;;;:::o;1033:23::-;;;;;;;;;;;;:::o;1433:33::-;;;;:::o;7246:1482::-;7475:5;;:12;;7444:20;;:27;;:43;7440:111;;7510:30;;;;;;;;;;;;;;7440:111;7842:26;;7664:174;7713:14;;7745:18;;7802:20;;7791:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7781:43;;;;;;7664:31;:174::i;:::-;:204;7647:293;;7900:29;;;;;;;;;;;;;;7647:293;7949:19;194:66:2;8030:39:4;;8091:11;:19;;;8132:11;:18;;;;;;;;:::i;:::-;:24;;;;;;;;:::i;:::-;8178:11;:18;;;;;;;;:::i;:::-;:28;;;8228:11;:18;;;;;;;;:::i;:::-;:33;;;8283:11;:18;;;;;;;;:::i;:::-;:36;;;8341:11;:18;;;;;;;;:::i;:::-;:32;;;8395:26;;8443:11;:32;;;8497:11;:18;;;;;;;;:::i;:::-;:41;;;7998:558;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7971:599;;;;;;7949:621;;8580:141;8619:20;;8653:5;;8672:11;8697:14;;8580:25;:141::i;:::-;7430:1298;7246:1482;;;;;:::o;1331:30::-;;;;:::o;5304:1673::-;5592:5;;:12;;5561:20;;:27;;:43;5557:111;;5627:30;;;;;;;;;;;;;;5557:111;5706:18;;5681:22;:43;5677:113;;;5747:32;;;;;;;;;;;;;;5677:113;5825:1;5803:18;:23;;;5799:84;;5849:23;;;;;;;;;;;;;;5799:84;5979:32;6035:20;;6024:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6014:43;;;;;;5979:78;;6243:26;;6084:155;6133:14;;6165:18;;6201:24;6084:31;:155::i;:::-;:185;6067:274;;6301:29;;;;;;;;;;;;;;6067:274;6351:22;6376:143;6421:18;6376:143;;6453:22;6489:20;6376:31;:143::i;:::-;6351:168;;6529:144;6568:20;;6602:5;;6621:14;6649;;6529:25;:144::i;:::-;6712:14;6683:26;:43;;;;6753:18;6736:35;;:14;:35;;;;6802:22;6781:18;:43;;;;6839:131;6872:18;6904:22;6940:20;6839:131;;;;;;;;:::i;:::-;;;;;;;;5547:1430;;5304:1673;;;;;;;:::o;1139:41::-;;;;:::o;1246:29::-;;;;:::o;1531:23::-;;;;;;;;;;;;;:::o;10788:463::-;10963:7;375:66:2;11060:35:4;;11117:15;11154:19;11195:17;11028:202;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11001:243;;;;;;10982:262;;10788:463;;;;;:::o;9172:1227::-;9495:15;;1710:4;9457:18;;:34;;;;:::i;:::-;9438:15;:54;;;;:::i;:::-;:72;9434:129;;;9533:19;;;;;;;;;;;;;;9434:129;9572:24;9615:10;9610:677;9636:18;;:25;;9631:2;:30;9610:677;;;9777:1;9762:16;;:5;;9768:2;9762:9;;;;;;;:::i;:::-;;;;;;;:11;;;:16;:36;;;;;9797:1;9782:16;;:5;;9788:2;9782:9;;;;;;;:::i;:::-;;;;;;;:11;;;:16;9762:36;:56;;;;;9817:1;9802:5;;9808:2;9802:9;;;;;;;:::i;:::-;;;;;;;:11;;;;;;;;;;:::i;:::-;:16;;;9762:56;9838:8;9758:103;9955:59;9966:18;;9985:2;9966:22;;;;;;;:::i;:::-;;;;;;;:27;;;;;;;;;;:::i;:::-;9995:7;10004:5;;10010:2;10004:9;;;;;;;:::i;:::-;;;;;;;9955:10;:59::i;:::-;9950:124;;10041:18;;;;;;;;;;;;;;9950:124;10107:18;;10126:2;10107:22;;;;;;;:::i;:::-;;;;;;;:28;;;10087:48;;;;;:::i;:::-;;;10222:15;10202:16;:35;10198:79;10257:5;10198:79;9610:677;9663:4;;;;;:::i;:::-;;;;9610:677;;;;10319:15;10300:16;:34;10296:97;;;10357:25;;;;;;;;;;;;;;10296:97;9424:975;9172:1227;;;;;;:::o;11523:428::-;11655:4;11681:33;11705:7;11688:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;11681:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11671:43;;11725:18;11745;11769:43;11780:7;11789:4;:6;;;;;;;;;;:::i;:::-;11797:4;:6;;;11805:4;:6;;;11769:10;:43::i;:::-;11724:88;;;;;11835:20;11826:29;;;;;;;;:::i;:::-;;:5;:29;;;;;;;;:::i;:::-;;;11822:85;;11878:18;;;;;;;;;;;;;;11822:85;11934:10;11923:21;;:7;:21;;;11916:28;;;;11523:428;;;;;:::o;5439:1564:3:-;5565:7;5574:12;5588:7;6523:66;6506:1;6498:10;;:91;6481:198;;;6630:1;6634:30;6666:1;6614:54;;;;;;;;6481:198;6773:14;6790:24;6800:4;6806:1;6809;6812;6790:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6773:41;;6846:1;6828:20;;:6;:20;;;6824:113;;6880:1;6884:29;6923:1;6915:10;;6864:62;;;;;;;;;6824:113;6955:6;6963:20;6993:1;6985:10;;6947:49;;;;;;;5439:1564;;;;;;;;;:::o;7:90:5:-;41:7;84:5;77:13;70:21;59:32;;7:90;;;:::o;103:109::-;184:21;199:5;184:21;:::i;:::-;179:3;172:34;103:109;;:::o;218:210::-;305:4;343:2;332:9;328:18;320:26;;356:65;418:1;407:9;403:17;394:6;356:65;:::i;:::-;218:210;;;;:::o;515:117::-;624:1;621;614:12;638:117;747:1;744;737:12;761:77;798:7;827:5;816:16;;761:77;;;:::o;844:122::-;917:24;935:5;917:24;:::i;:::-;910:5;907:35;897:63;;956:1;953;946:12;897:63;844:122;:::o;972:139::-;1018:5;1056:6;1043:20;1034:29;;1072:33;1099:5;1072:33;:::i;:::-;972:139;;;;:::o;1117:77::-;1154:7;1183:5;1172:16;;1117:77;;;:::o;1200:122::-;1273:24;1291:5;1273:24;:::i;:::-;1266:5;1263:35;1253:63;;1312:1;1309;1302:12;1253:63;1200:122;:::o;1328:139::-;1374:5;1412:6;1399:20;1390:29;;1428:33;1455:5;1428:33;:::i;:::-;1328:139;;;;:::o;1473:619::-;1550:6;1558;1566;1615:2;1603:9;1594:7;1590:23;1586:32;1583:119;;;1621:79;;:::i;:::-;1583:119;1741:1;1766:53;1811:7;1802:6;1791:9;1787:22;1766:53;:::i;:::-;1756:63;;1712:117;1868:2;1894:53;1939:7;1930:6;1919:9;1915:22;1894:53;:::i;:::-;1884:63;;1839:118;1996:2;2022:53;2067:7;2058:6;2047:9;2043:22;2022:53;:::i;:::-;2012:63;;1967:118;1473:619;;;;;:::o;2098:118::-;2185:24;2203:5;2185:24;:::i;:::-;2180:3;2173:37;2098:118;;:::o;2222:222::-;2315:4;2353:2;2342:9;2338:18;2330:26;;2366:71;2434:1;2423:9;2419:17;2410:6;2366:71;:::i;:::-;2222:222;;;;:::o;2450:765::-;2536:6;2544;2552;2560;2609:3;2597:9;2588:7;2584:23;2580:33;2577:120;;;2616:79;;:::i;:::-;2577:120;2736:1;2761:53;2806:7;2797:6;2786:9;2782:22;2761:53;:::i;:::-;2751:63;;2707:117;2863:2;2889:53;2934:7;2925:6;2914:9;2910:22;2889:53;:::i;:::-;2879:63;;2834:118;2991:2;3017:53;3062:7;3053:6;3042:9;3038:22;3017:53;:::i;:::-;3007:63;;2962:118;3119:2;3145:53;3190:7;3181:6;3170:9;3166:22;3145:53;:::i;:::-;3135:63;;3090:118;2450:765;;;;;;;:::o;3221:126::-;3258:7;3298:42;3291:5;3287:54;3276:65;;3221:126;;;:::o;3353:96::-;3390:7;3419:24;3437:5;3419:24;:::i;:::-;3408:35;;3353:96;;;:::o;3455:118::-;3542:24;3560:5;3542:24;:::i;:::-;3537:3;3530:37;3455:118;;:::o;3579:222::-;3672:4;3710:2;3699:9;3695:18;3687:26;;3723:71;3791:1;3780:9;3776:17;3767:6;3723:71;:::i;:::-;3579:222;;;;:::o;3807:117::-;3916:1;3913;3906:12;3966:244;4052:5;4093:2;4084:6;4079:3;4075:16;4071:25;4068:112;;;4099:79;;:::i;:::-;4068:112;4198:6;4189:15;;3966:244;;;;:::o;4216:117::-;4325:1;4322;4315:12;4339:117;4448:1;4445;4438:12;4462:117;4571:1;4568;4561:12;4611:596;4712:8;4722:6;4772:3;4765:4;4757:6;4753:17;4749:27;4739:122;;4780:79;;:::i;:::-;4739:122;4893:6;4880:20;4870:30;;4923:18;4915:6;4912:30;4909:117;;;4945:79;;:::i;:::-;4909:117;5059:4;5051:6;5047:17;5035:29;;5113:3;5105:4;5097:6;5093:17;5083:8;5079:32;5076:41;5073:128;;;5120:79;;:::i;:::-;5073:128;4611:596;;;;;:::o;5239:::-;5340:8;5350:6;5400:3;5393:4;5385:6;5381:17;5377:27;5367:122;;5408:79;;:::i;:::-;5367:122;5521:6;5508:20;5498:30;;5551:18;5543:6;5540:30;5537:117;;;5573:79;;:::i;:::-;5537:117;5687:4;5679:6;5675:17;5663:29;;5741:3;5733:4;5725:6;5721:17;5711:8;5707:32;5704:41;5701:128;;;5748:79;;:::i;:::-;5701:128;5239:596;;;;;:::o;5841:1431::-;6068:6;6076;6084;6092;6100;6149:2;6137:9;6128:7;6124:23;6120:32;6117:119;;;6155:79;;:::i;:::-;6117:119;6303:1;6292:9;6288:17;6275:31;6333:18;6325:6;6322:30;6319:117;;;6355:79;;:::i;:::-;6319:117;6460:93;6545:7;6536:6;6525:9;6521:22;6460:93;:::i;:::-;6450:103;;6246:317;6630:2;6619:9;6615:18;6602:32;6661:18;6653:6;6650:30;6647:117;;;6683:79;;:::i;:::-;6647:117;6796:108;6896:7;6887:6;6876:9;6872:22;6796:108;:::i;:::-;6778:126;;;;6573:341;6981:2;6970:9;6966:18;6953:32;7012:18;7004:6;7001:30;6998:117;;;7034:79;;:::i;:::-;6998:117;7147:108;7247:7;7238:6;7227:9;7223:22;7147:108;:::i;:::-;7129:126;;;;6924:341;5841:1431;;;;;;;;:::o;7278:101::-;7314:7;7354:18;7347:5;7343:30;7332:41;;7278:101;;;:::o;7385:120::-;7457:23;7474:5;7457:23;:::i;:::-;7450:5;7447:34;7437:62;;7495:1;7492;7485:12;7437:62;7385:120;:::o;7511:137::-;7556:5;7594:6;7581:20;7572:29;;7610:32;7636:5;7610:32;:::i;:::-;7511:137;;;;:::o;7654:1481::-;7858:6;7866;7874;7882;7890;7898;7906;7955:3;7943:9;7934:7;7930:23;7926:33;7923:120;;;7962:79;;:::i;:::-;7923:120;8082:1;8107:53;8152:7;8143:6;8132:9;8128:22;8107:53;:::i;:::-;8097:63;;8053:117;8209:2;8235:52;8279:7;8270:6;8259:9;8255:22;8235:52;:::i;:::-;8225:62;;8180:117;8336:2;8362:53;8407:7;8398:6;8387:9;8383:22;8362:53;:::i;:::-;8352:63;;8307:118;8492:2;8481:9;8477:18;8464:32;8523:18;8515:6;8512:30;8509:117;;;8545:79;;:::i;:::-;8509:117;8658:108;8758:7;8749:6;8738:9;8734:22;8658:108;:::i;:::-;8640:126;;;;8435:341;8843:3;8832:9;8828:19;8815:33;8875:18;8867:6;8864:30;8861:117;;;8897:79;;:::i;:::-;8861:117;9010:108;9110:7;9101:6;9090:9;9086:22;9010:108;:::i;:::-;8992:126;;;;8786:342;7654:1481;;;;;;;;;;:::o;9141:118::-;9228:24;9246:5;9228:24;:::i;:::-;9223:3;9216:37;9141:118;;:::o;9265:222::-;9358:4;9396:2;9385:9;9381:18;9373:26;;9409:71;9477:1;9466:9;9462:17;9453:6;9409:71;:::i;:::-;9265:222;;;;:::o;9493:180::-;9541:77;9538:1;9531:88;9638:4;9635:1;9628:15;9662:4;9659:1;9652:15;9679:180;9727:77;9724:1;9717:88;9824:4;9821:1;9814:15;9848:4;9845:1;9838:15;9865:185;9905:1;9922:20;9940:1;9922:20;:::i;:::-;9917:25;;9956:20;9974:1;9956:20;:::i;:::-;9951:25;;9995:1;9985:35;;10000:18;;:::i;:::-;9985:35;10042:1;10039;10035:9;10030:14;;9865:185;;;;:::o;10056:194::-;10096:4;10116:20;10134:1;10116:20;:::i;:::-;10111:25;;10150:20;10168:1;10150:20;:::i;:::-;10145:25;;10194:1;10191;10187:9;10179:17;;10218:1;10212:4;10209:11;10206:37;;;10223:18;;:::i;:::-;10206:37;10056:194;;;;:::o;10256:442::-;10405:4;10443:2;10432:9;10428:18;10420:26;;10456:71;10524:1;10513:9;10509:17;10500:6;10456:71;:::i;:::-;10537:72;10605:2;10594:9;10590:18;10581:6;10537:72;:::i;:::-;10619;10687:2;10676:9;10672:18;10663:6;10619:72;:::i;:::-;10256:442;;;;;;:::o;10704:210::-;10829:11;10863:6;10858:3;10851:19;10903:4;10898:3;10894:14;10879:29;;10704:210;;;;:::o;10920:130::-;11017:4;11040:3;11032:11;;10920:130;;;:::o;11056:122::-;11129:24;11147:5;11129:24;:::i;:::-;11122:5;11119:35;11109:63;;11168:1;11165;11158:12;11109:63;11056:122;:::o;11184:139::-;11230:5;11268:6;11255:20;11246:29;;11284:33;11311:5;11284:33;:::i;:::-;11184:139;;;;:::o;11329:122::-;11381:5;11406:39;11441:2;11436:3;11432:12;11427:3;11406:39;:::i;:::-;11397:48;;11329:122;;;;:::o;11457:108::-;11534:24;11552:5;11534:24;:::i;:::-;11529:3;11522:37;11457:108;;:::o;11571:122::-;11623:5;11648:39;11683:2;11678:3;11674:12;11669:3;11648:39;:::i;:::-;11639:48;;11571:122;;;;:::o;11699:108::-;11776:24;11794:5;11776:24;:::i;:::-;11771:3;11764:37;11699:108;;:::o;11857:556::-;11998:4;11993:3;11989:14;12068:50;12112:4;12105:5;12101:16;12094:5;12068:50;:::i;:::-;12131:63;12188:4;12183:3;12179:14;12165:12;12131:63;:::i;:::-;12013:191;12270:50;12314:4;12307:5;12303:16;12296:5;12270:50;:::i;:::-;12333:63;12390:4;12385:3;12381:14;12367:12;12333:63;:::i;:::-;12214:192;11967:446;11857:556;;:::o;12419:287::-;12542:10;12563:100;12659:3;12651:6;12563:100;:::i;:::-;12695:4;12690:3;12686:14;12672:28;;12419:287;;;;:::o;12712:114::-;12792:5;12817:3;12808:12;;12712:114;;;;:::o;12832:143::-;12932:4;12964;12959:3;12955:14;12947:22;;12832:143;;;:::o;13029:917::-;13212:3;13235:112;13340:6;13335:3;13235:112;:::i;:::-;13228:119;;13371:86;13451:5;13371:86;:::i;:::-;13480:7;13511:1;13496:425;13521:6;13518:1;13515:13;13496:425;;;13591:70;13654:6;13645:7;13591:70;:::i;:::-;13681:117;13794:3;13779:13;13681:117;:::i;:::-;13674:124;;13821:90;13904:6;13821:90;:::i;:::-;13811:100;;13556:365;13543:1;13540;13536:9;13531:14;;13496:425;;;13500:14;13937:3;13930:10;;13217:729;;13029:917;;;;;:::o;13952:501::-;14159:4;14197:2;14186:9;14182:18;14174:26;;14246:9;14240:4;14236:20;14232:1;14221:9;14217:17;14210:47;14274:172;14441:4;14432:6;14424;14274:172;:::i;:::-;14266:180;;13952:501;;;;;:::o;14459:117::-;14568:1;14565;14558:12;14582:117;14691:1;14688;14681:12;14705:117;14814:1;14811;14804:12;14828:395;14923:4;14977:11;14964:25;15077:1;15071:4;15067:12;15056:8;15040:14;15036:29;15032:48;15012:18;15008:73;14998:168;;15085:79;;:::i;:::-;14998:168;15197:18;15187:8;15183:33;15175:41;;14928:295;14828:395;;;;:::o;15229:724::-;15306:4;15312:6;15368:11;15355:25;15468:1;15462:4;15458:12;15447:8;15431:14;15427:29;15423:48;15403:18;15399:73;15389:168;;15476:79;;:::i;:::-;15389:168;15588:18;15578:8;15574:33;15566:41;;15640:4;15627:18;15617:28;;15668:18;15660:6;15657:30;15654:117;;;15690:79;;:::i;:::-;15654:117;15798:2;15792:4;15788:13;15780:21;;15855:4;15847:6;15843:17;15827:14;15823:38;15817:4;15813:49;15810:136;;;15865:79;;:::i;:::-;15810:136;15319:634;15229:724;;;;;:::o;15959:168::-;16042:11;16076:6;16071:3;16064:19;16116:4;16111:3;16107:14;16092:29;;15959:168;;;;:::o;16133:146::-;16230:6;16225:3;16220;16207:30;16271:1;16262:6;16257:3;16253:16;16246:27;16133:146;;;:::o;16285:102::-;16326:6;16377:2;16373:7;16368:2;16361:5;16357:14;16353:28;16343:38;;16285:102;;;:::o;16415:314::-;16511:3;16532:70;16595:6;16590:3;16532:70;:::i;:::-;16525:77;;16612:56;16661:6;16656:3;16649:5;16612:56;:::i;:::-;16693:29;16715:6;16693:29;:::i;:::-;16688:3;16684:39;16677:46;;16415:314;;;;;:::o;16735:1328::-;17109:4;17147:3;17136:9;17132:19;17124:27;;17161:71;17229:1;17218:9;17214:17;17205:6;17161:71;:::i;:::-;17242:72;17310:2;17299:9;17295:18;17286:6;17242:72;:::i;:::-;17361:9;17355:4;17351:20;17346:2;17335:9;17331:18;17324:48;17389:86;17470:4;17461:6;17453;17389:86;:::i;:::-;17381:94;;17485:72;17553:2;17542:9;17538:18;17529:6;17485:72;:::i;:::-;17567:73;17635:3;17624:9;17620:19;17611:6;17567:73;:::i;:::-;17650;17718:3;17707:9;17703:19;17694:6;17650:73;:::i;:::-;17733;17801:3;17790:9;17786:19;17777:6;17733:73;:::i;:::-;17816;17884:3;17873:9;17869:19;17860:6;17816:73;:::i;:::-;17899;17967:3;17956:9;17952:19;17943:6;17899:73;:::i;:::-;17982:74;18051:3;18040:9;18036:19;18026:7;17982:74;:::i;:::-;16735:1328;;;;;;;;;;;;;;:::o;18069:60::-;18097:3;18118:5;18111:12;;18069:60;;;:::o;18135:140::-;18184:9;18217:52;18235:33;18244:23;18261:5;18244:23;:::i;:::-;18235:33;:::i;:::-;18217:52;:::i;:::-;18204:65;;18135:140;;;:::o;18281:129::-;18367:36;18397:5;18367:36;:::i;:::-;18362:3;18355:49;18281:129;;:::o;18416:440::-;18564:4;18602:2;18591:9;18587:18;18579:26;;18615:70;18682:1;18671:9;18667:17;18658:6;18615:70;:::i;:::-;18695:72;18763:2;18752:9;18748:18;18739:6;18695:72;:::i;:::-;18777;18845:2;18834:9;18830:18;18821:6;18777:72;:::i;:::-;18416:440;;;;;;:::o;18862:553::-;19039:4;19077:3;19066:9;19062:19;19054:27;;19091:71;19159:1;19148:9;19144:17;19135:6;19091:71;:::i;:::-;19172:72;19240:2;19229:9;19225:18;19216:6;19172:72;:::i;:::-;19254;19322:2;19311:9;19307:18;19298:6;19254:72;:::i;:::-;19336;19404:2;19393:9;19389:18;19380:6;19336:72;:::i;:::-;18862:553;;;;;;;:::o;19421:180::-;19469:77;19466:1;19459:88;19566:4;19563:1;19556:15;19590:4;19587:1;19580:15;19607:86;19642:7;19682:4;19675:5;19671:16;19660:27;;19607:86;;;:::o;19699:118::-;19770:22;19786:5;19770:22;:::i;:::-;19763:5;19760:33;19750:61;;19807:1;19804;19797:12;19750:61;19699:118;:::o;19823:135::-;19867:5;19905:6;19892:20;19883:29;;19921:31;19946:5;19921:31;:::i;:::-;19823:135;;;;:::o;19964:325::-;20021:6;20070:2;20058:9;20049:7;20045:23;20041:32;20038:119;;;20076:79;;:::i;:::-;20038:119;20196:1;20221:51;20264:7;20255:6;20244:9;20240:22;20221:51;:::i;:::-;20211:61;;20167:115;19964:325;;;;:::o;20295:329::-;20354:6;20403:2;20391:9;20382:7;20378:23;20374:32;20371:119;;;20409:79;;:::i;:::-;20371:119;20529:1;20554:53;20599:7;20590:6;20579:9;20575:22;20554:53;:::i;:::-;20544:63;;20500:117;20295:329;;;;:::o;20630:191::-;20670:3;20689:20;20707:1;20689:20;:::i;:::-;20684:25;;20723:20;20741:1;20723:20;:::i;:::-;20718:25;;20766:1;20763;20759:9;20752:16;;20787:3;20784:1;20781:10;20778:36;;;20794:18;;:::i;:::-;20778:36;20630:191;;;;:::o;20827:233::-;20866:3;20889:24;20907:5;20889:24;:::i;:::-;20880:33;;20935:66;20928:5;20925:77;20922:103;;21005:18;;:::i;:::-;20922:103;21052:1;21045:5;21041:13;21034:20;;20827:233;;;:::o;21066:79::-;21105:7;21134:5;21123:16;;21066:79;;;:::o;21151:157::-;21256:45;21276:24;21294:5;21276:24;:::i;:::-;21256:45;:::i;:::-;21251:3;21244:58;21151:157;;:::o;21314:256::-;21426:3;21441:75;21512:3;21503:6;21441:75;:::i;:::-;21541:2;21536:3;21532:12;21525:19;;21561:3;21554:10;;21314:256;;;;:::o;21576:98::-;21627:6;21661:5;21655:12;21645:22;;21576:98;;;:::o;21680:147::-;21781:11;21818:3;21803:18;;21680:147;;;;:::o;21833:246::-;21914:1;21924:113;21938:6;21935:1;21932:13;21924:113;;;22023:1;22018:3;22014:11;22008:18;22004:1;21999:3;21995:11;21988:39;21960:2;21957:1;21953:10;21948:15;;21924:113;;;22071:1;22062:6;22057:3;22053:16;22046:27;21895:184;21833:246;;;:::o;22085:386::-;22189:3;22217:38;22249:5;22217:38;:::i;:::-;22271:88;22352:6;22347:3;22271:88;:::i;:::-;22264:95;;22368:65;22426:6;22421:3;22414:4;22407:5;22403:16;22368:65;:::i;:::-;22458:6;22453:3;22449:16;22442:23;;22193:278;22085:386;;;;:::o;22477:271::-;22607:3;22629:93;22718:3;22709:6;22629:93;:::i;:::-;22622:100;;22739:3;22732:10;;22477:271;;;;:::o;22754:143::-;22811:5;22842:6;22836:13;22827:22;;22858:33;22885:5;22858:33;:::i;:::-;22754:143;;;;:::o;22903:351::-;22973:6;23022:2;23010:9;23001:7;22997:23;22993:32;22990:119;;;23028:79;;:::i;:::-;22990:119;23148:1;23173:64;23229:7;23220:6;23209:9;23205:22;23173:64;:::i;:::-;23163:74;;23119:128;22903:351;;;;:::o;23260:180::-;23308:77;23305:1;23298:88;23405:4;23402:1;23395:15;23429:4;23426:1;23419:15;23446:112;23529:22;23545:5;23529:22;:::i;:::-;23524:3;23517:35;23446:112;;:::o;23564:545::-;23737:4;23775:3;23764:9;23760:19;23752:27;;23789:71;23857:1;23846:9;23842:17;23833:6;23789:71;:::i;:::-;23870:68;23934:2;23923:9;23919:18;23910:6;23870:68;:::i;:::-;23948:72;24016:2;24005:9;24001:18;23992:6;23948:72;:::i;:::-;24030;24098:2;24087:9;24083:18;24074:6;24030:72;:::i;:::-;23564:545;;;;;;;:::o"},"methodIdentifiers":{"MS_PER_SECOND()":"1a8bcd34","deployer()":"d5f39488","guardian()":"452a9320","guardianResetValidatorSet(uint256,uint256,bytes32)":"185bf52b","init(uint256,uint256,uint256,bytes32)":"4394f6f3","initialized()":"158ef93e","lastValidatorSetCheckpoint()":"af082a7d","powerThreshold()":"ba95ec27","unbondingPeriod()":"6cf6d675","updateValidatorSet(bytes32,uint64,uint256,(address,uint256)[],(uint8,bytes32,bytes32)[])":"84330d4c","validatorTimestamp()":"4f76f1ee","verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"5e0d3b0f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_guardian\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPowerThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MalformedCurrentValidatorSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDeployer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotGuardian\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StaleValidatorSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SuppliedValidatorSetInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValidatorSetNotStale\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValidatorTimestampMustIncrease\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_validatorSetHash\",\"type\":\"bytes32\"}],\"name\":\"GuardianResetValidatorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_validatorSetHash\",\"type\":\"bytes32\"}],\"name\":\"ValidatorSetUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MS_PER_SECOND\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guardian\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_validatorSetCheckpoint\",\"type\":\"bytes32\"}],\"name\":\"guardianResetValidatorSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_unbondingPeriod\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_validatorSetCheckpoint\",\"type\":\"bytes32\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastValidatorSetCheckpoint\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"powerThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unbondingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_newValidatorSetHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_newPowerThreshold\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"_newValidatorTimestamp\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"updateValidatorSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validatorTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"verifyOracleData\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The relay relies on a set of signers to attest to some event on Tellor Layer. These signers are the validator set, who sign over every block. At least 2/3 of the voting power of the current view of the validator set must sign off on new relayed events.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_guardian\":\"Guardian address.\"}},\"guardianResetValidatorSet(uint256,uint256,bytes32)\":{\"params\":{\"_powerThreshold\":\"Amount of voting power needed to approve operations.\",\"_validatorSetCheckpoint\":\"The hash of the validator set.\",\"_validatorTimestamp\":\"The timestamp of the block where validator set is updated.\"}},\"init(uint256,uint256,uint256,bytes32)\":{\"params\":{\"_powerThreshold\":\"Initial voting power that is needed to approve operations\",\"_unbondingPeriod\":\"Time period after which a validator can withdraw their stake.\",\"_validatorSetCheckpoint\":\"Initial checkpoint of the validator set.\",\"_validatorTimestamp\":\"Timestamp of the block where validator set is updated.\"}},\"updateValidatorSet(bytes32,uint64,uint256,(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"params\":{\"_currentValidatorSet\":\"The current validator set.\",\"_newPowerThreshold\":\"At least this much power must have signed.\",\"_newValidatorSetHash\":\"The hash of the new validator set.\",\"_newValidatorTimestamp\":\"The timestamp of the block where validator set is updated.\",\"_sigs\":\"Signatures.\"}},\"verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"params\":{\"_attestData\":\"The data being verified\",\"_currentValidatorSet\":\"array of current validator set\",\"_sigs\":\"Signatures.\"}}},\"title\":\"TellorDataBridge: Tellor Layer -> EVM, Oracle relay.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"MS_PER_SECOND()\":{\"notice\":\"True if the contract is initialized.\"},\"constructor\":{\"notice\":\"Constructor for the TellorDataBridge contract.\"},\"deployer()\":{\"notice\":\"Timestamp of the block where validator set is updated.\"},\"guardianResetValidatorSet(uint256,uint256,bytes32)\":{\"notice\":\"This function is called by the guardian to reset the validator set only if it becomes stale.\"},\"init(uint256,uint256,uint256,bytes32)\":{\"notice\":\"This function is called only once by the deployer to initialize the contract\"},\"initialized()\":{\"notice\":\"Address that deployed the contract.\"},\"lastValidatorSetCheckpoint()\":{\"notice\":\"Able to reset the validator set only if the validator set becomes stale.\"},\"powerThreshold()\":{\"notice\":\"Domain-separated commitment to the latest validator set.\"},\"unbondingPeriod()\":{\"notice\":\"Voting power required to submit a new update.\"},\"updateValidatorSet(bytes32,uint64,uint256,(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"notice\":\"This updates the validator set by checking that the validators in the current validator set have signed off on the new validator set.\"},\"validatorTimestamp()\":{\"notice\":\"Time period after which a validator can withdraw their stake.\"},\"verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"notice\":\"This getter verifies a given piece of data vs Validator signatures\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testing/bridge/TellorDataBridge.sol\":\"TellorDataBridge\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testing/bridge/Constants.sol\":{\"keccak256\":\"0x098901f58743ef71c476802795a65fa24ff3987c9203ac363f2307d073aaedac\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://0b9feae0163f19c7c9aa17e80e9619b84184c871f282c956e09ddeb736fded3a\",\"dweb:/ipfs/QmYVoiixd5QusCwPQ1DC7Ss7MMaXJpLqa8V1vbUnG7atS3\"]},\"contracts/testing/bridge/ECDSA.sol\":{\"keccak256\":\"0xd3cf86f8b73deb230943786cb7c5036b2b602fc3f7dc43f6cd1c06511831b8eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cc6bb20c5239f6073c18604af3fc04c764984615a37d74b9cb24896465cb3c3\",\"dweb:/ipfs/QmPEMsTWcdXp6uAiPHiQGTCPCUsv161UvYZFGECJudFFoA\"]},\"contracts/testing/bridge/TellorDataBridge.sol\":{\"keccak256\":\"0x752bb09618abfa2ef2b87bfd823cf7b5cbc0dd7df3867689e329ea8e2d742d87\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc3c1885d4cec306e101c40790cc3262a7654fae15c2eeb13e61e83ef505e3b4\",\"dweb:/ipfs/QmXfX844XPq5q673Br1e4PXR5pzH8frJDXNz2daxGM2zZb\"]}},\"version\":1}"}}}}} \ No newline at end of file diff --git a/artifacts/build-info/ddd00ff12efc93d7c8bb99665bd536bb.json b/artifacts/build-info/ddd00ff12efc93d7c8bb99665bd536bb.json new file mode 100644 index 0000000..03a47d1 --- /dev/null +++ b/artifacts/build-info/ddd00ff12efc93d7c8bb99665bd536bb.json @@ -0,0 +1 @@ +{"id":"ddd00ff12efc93d7c8bb99665bd536bb","_format":"hh-sol-build-info-1","solcVersion":"0.8.19","solcLongVersion":"0.8.19+commit.7dd6d404","input":{"language":"Solidity","sources":{"contracts/interfaces/ITellorDataBridge.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nstruct OracleAttestationData {\n bytes32 queryId;\n ReportData report;\n uint256 attestationTimestamp; //timestamp of validatorSignatures on report\n}\n\nstruct ReportData {\n bytes value;\n uint256 timestamp; //timestamp of reporter signature aggregation\n uint256 aggregatePower;\n uint256 previousTimestamp;\n uint256 nextTimestamp;\n uint256 lastConsensusTimestamp;\n}\n\nstruct Signature {\n uint8 v;\n bytes32 r;\n bytes32 s;\n}\n\nstruct Validator {\n address addr;\n uint256 power;\n}\n\ninterface ITellorDataBridge {\n function guardian() external view returns (address);\n function powerThreshold() external view returns (uint256);\n function unbondingPeriod() external view returns (uint256);\n function validatorTimestamp() external view returns (uint256);\n function verifyOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external view;\n}"},"contracts/testing/bridge/ECDSA.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/cryptography/ECDSA.sol)\npragma solidity 0.8.19;\n\n/**\n * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n *\n * These functions can be used to verify that a message was signed by the holder\n * of the private keys of a given address.\n */\ncontract ECDSA {\n enum RecoverError {\n NoError,\n InvalidSignature,\n InvalidSignatureLength,\n InvalidSignatureS\n }\n\n /**\n * @dev The signature derives the `address(0)`.\n */\n error ECDSAInvalidSignature();\n\n /**\n * @dev The signature has an invalid length.\n */\n error ECDSAInvalidSignatureLength(uint256 length);\n\n /**\n * @dev The signature has an S value that is in the upper half order.\n */\n error ECDSAInvalidSignatureS(bytes32 s);\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not\n * return address(0) without also returning an error description. Errors are documented using an enum (error type)\n * and a bytes32 providing additional information about the error.\n *\n * If no error is returned, then the address can be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n *\n * Documentation for signature generation:\n * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n */\n function tryRecover(\n bytes32 hash,\n bytes memory signature\n ) internal pure returns (address, RecoverError, bytes32) {\n if (signature.length == 65) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n /// @solidity memory-safe-assembly\n assembly {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n return tryRecover(hash, v, r, s);\n } else {\n return (\n address(0),\n RecoverError.InvalidSignatureLength,\n bytes32(signature.length)\n );\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature`. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n */\n function recover(\n bytes32 hash,\n bytes memory signature\n ) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(\n hash,\n signature\n );\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n *\n * See https://eips.ethereum.org/EIPS/eip-2098[ERC-2098 short signatures]\n */\n function tryRecover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address, RecoverError, bytes32) {\n unchecked {\n bytes32 s = vs &\n bytes32(\n 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n );\n // We do not check for an overflow here since the shift operation results in 0 or 1.\n uint8 v = uint8((uint256(vs) >> 255) + 27);\n return tryRecover(hash, v, r, s);\n }\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n */\n function recover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(\n hash,\n r,\n vs\n );\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function tryRecover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address, RecoverError, bytes32) {\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\n // the valid range for s in (301): 0 < s < secp256k1n ÷ 2 + 1, and for v in (302): v ∈ {27, 28}. Most\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\n //\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\n // these malleable signatures as well.\n if (\n uint256(s) >\n 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0\n ) {\n return (address(0), RecoverError.InvalidSignatureS, s);\n }\n\n // If the signature is valid (and not malleable), return the signer address\n address signer = ecrecover(hash, v, r, s);\n if (signer == address(0)) {\n return (address(0), RecoverError.InvalidSignature, bytes32(0));\n }\n\n return (signer, RecoverError.NoError, bytes32(0));\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function recover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(\n hash,\n v,\n r,\n s\n );\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Optionally reverts with the corresponding custom error according to the `error` argument provided.\n */\n function _throwError(RecoverError error, bytes32 errorArg) private pure {\n if (error == RecoverError.NoError) {\n return; // no error: do nothing\n } else if (error == RecoverError.InvalidSignature) {\n revert ECDSAInvalidSignature();\n } else if (error == RecoverError.InvalidSignatureLength) {\n revert ECDSAInvalidSignatureLength(uint256(errorArg));\n } else if (error == RecoverError.InvalidSignatureS) {\n revert ECDSAInvalidSignatureS(errorArg);\n }\n }\n\n /**\n * @dev Returns the keccak256 digest of an ERC-191 signed data with version\n * `0x45` (`personal_sign` messages).\n *\n * The digest is calculated by prefixing a bytes32 `messageHash` with\n * `\"\\x19Ethereum Signed Message:\\n32\"` and hashing the result. It corresponds with the\n * hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.\n *\n * NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with\n * keccak256, although any bytes32 value can be safely used because the final digest will\n * be re-hashed.\n *\n * See {ECDSA-recover}.\n */\n function toEthSignedMessageHash(\n bytes32 messageHash\n ) internal pure returns (bytes32 digest) {\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, \"\\x19Ethereum Signed Message:\\n32\") // 32 is the bytes-length of messageHash\n mstore(0x1c, messageHash) // 0x1c (28) is the length of the prefix\n digest := keccak256(0x00, 0x3c) // 0x3c is the length of the prefix (0x1c) + messageHash (0x20)\n }\n }\n}\n"},"contracts/testing/bridge/TellorDataBridge.sol":{"content":"// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.19;\n\nimport {ECDSA} from \"./ECDSA.sol\";\n\nstruct OracleAttestationData {\n bytes32 queryId;\n ReportData report;\n uint256 attestationTimestamp;//timestamp of validatorSignatures on report\n}\n\nstruct ReportData {\n bytes value;\n uint256 timestamp;//timestamp of reporter signature aggregation\n uint256 aggregatePower;\n uint256 previousTimestamp;\n uint256 nextTimestamp;\n uint256 lastConsensusTimestamp;\n}\n\nstruct Signature {\n uint8 v;\n bytes32 r;\n bytes32 s;\n}\n\nstruct Validator {\n address addr;\n uint256 power;\n}\n\n\n/// @title TellorDataBridge: Tellor Layer -> EVM, Oracle relay.\n/// @dev The relay relies on a set of signers to attest to some event on\n/// Tellor Layer. These signers are the validator set, who sign over every\n/// block. At least 2/3 of the voting power of the current\n/// view of the validator set must sign off on new relayed events.\ncontract TellorDataBridge is ECDSA {\n\n /*Storage*/\n address public guardian; /// Able to reset the validator set only if the validator set becomes stale.\n bytes32 public lastValidatorSetCheckpoint; ///Domain-separated commitment to the latest validator set.\n uint256 public powerThreshold; /// Voting power required to submit a new update.\n uint256 public unbondingPeriod; /// Time period after which a validator can withdraw their stake.\n uint256 public validatorTimestamp; /// Timestamp of the block where validator set is updated.\n address public deployer; /// Address that deployed the contract.\n bool public initialized; /// True if the contract is initialized.\n uint256 public constant MS_PER_SECOND = 1000; // factor to convert milliseconds to seconds\n bytes32 public constant NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR = // \"tellorCurrentAttestation\"\n 0x74656c6c6f7243757272656e744174746573746174696f6e0000000000000000;\n // For tellor mainnet, this is \"0x636865636b706f696e7400000000000000000000000000000000000000000000\". \n // Otherwise, we take the tellor chain id as a string, and the validator set domain separator is \n // keccak256(abi.encode(\"checkpoint\", TELLOR_CHAIN_ID)). This differentiates between different networks.\n bytes32 public immutable VALIDATOR_SET_HASH_DOMAIN_SEPARATOR;\n\n /*Events*/\n event GuardianResetValidatorSet(uint256 _powerThreshold, uint256 _validatorTimestamp, bytes32 _validatorSetHash);\n event ValidatorSetUpdated(uint256 _powerThreshold, uint256 _validatorTimestamp, bytes32 _validatorSetHash);\n\n /*Errors*/\n error AlreadyInitialized();\n error InsufficientVotingPower();\n error InvalidPowerThreshold();\n error InvalidSignature();\n error MalformedCurrentValidatorSet();\n error NotDeployer();\n error NotGuardian();\n error StaleValidatorSet();\n error SuppliedValidatorSetInvalid();\n error ValidatorSetNotStale();\n error ValidatorTimestampMustIncrease();\n\n /*Functions*/\n /// @notice Constructor for the TellorDataBridge contract.\n /// @param _guardian Guardian address.\n constructor(\n address _guardian,\n bytes32 _validatorSetHashDomainSeparator\n ) {\n guardian = _guardian;\n deployer = msg.sender;\n VALIDATOR_SET_HASH_DOMAIN_SEPARATOR = _validatorSetHashDomainSeparator;\n }\n\n /// @notice This function is called only once by the deployer to initialize the contract\n /// @param _powerThreshold Initial voting power that is needed to approve operations\n /// @param _validatorTimestamp Timestamp of the block where validator set is updated.\n /// @param _unbondingPeriod Time period after which a validator can withdraw their stake.\n /// @param _validatorSetCheckpoint Initial checkpoint of the validator set.\n function init(\n uint256 _powerThreshold,\n uint256 _validatorTimestamp,\n uint256 _unbondingPeriod,\n bytes32 _validatorSetCheckpoint\n ) external {\n if (msg.sender != deployer) {\n revert NotDeployer();\n }\n if (initialized) {\n revert AlreadyInitialized();\n }\n initialized = true;\n powerThreshold = _powerThreshold;\n validatorTimestamp = _validatorTimestamp;\n unbondingPeriod = _unbondingPeriod;\n lastValidatorSetCheckpoint = _validatorSetCheckpoint;\n }\n\n /// @notice This function is called by the guardian to reset the validator set\n /// only if it becomes stale.\n /// @param _powerThreshold Amount of voting power needed to approve operations.\n /// @param _validatorTimestamp The timestamp of the block where validator set is updated.\n /// @param _validatorSetCheckpoint The hash of the validator set.\n function guardianResetValidatorSet(\n uint256 _powerThreshold,\n uint256 _validatorTimestamp,\n bytes32 _validatorSetCheckpoint\n ) external {\n if (msg.sender != guardian) {\n revert NotGuardian();\n }\n if (block.timestamp - (validatorTimestamp / MS_PER_SECOND) < unbondingPeriod) {\n revert ValidatorSetNotStale();\n }\n if (_validatorTimestamp <= validatorTimestamp) {\n revert ValidatorTimestampMustIncrease();\n }\n powerThreshold = _powerThreshold;\n validatorTimestamp = _validatorTimestamp;\n lastValidatorSetCheckpoint = _validatorSetCheckpoint;\n emit GuardianResetValidatorSet(_powerThreshold, _validatorTimestamp, _validatorSetCheckpoint);\n }\n\n /// @notice This updates the validator set by checking that the validators\n /// in the current validator set have signed off on the new validator set.\n /// @param _newValidatorSetHash The hash of the new validator set.\n /// @param _newPowerThreshold At least this much power must have signed.\n /// @param _newValidatorTimestamp The timestamp of the block where validator set is updated.\n /// @param _currentValidatorSet The current validator set.\n /// @param _sigs Signatures.\n function updateValidatorSet(\n bytes32 _newValidatorSetHash,\n uint64 _newPowerThreshold,\n uint256 _newValidatorTimestamp,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external {\n if (_currentValidatorSet.length != _sigs.length) {\n revert MalformedCurrentValidatorSet();\n }\n if (_newValidatorTimestamp < validatorTimestamp) {\n revert ValidatorTimestampMustIncrease();\n }\n if (_newPowerThreshold == 0) {\n revert InvalidPowerThreshold();\n }\n // Check that the supplied current validator set matches the saved checkpoint.\n bytes32 _currentValidatorSetHash = keccak256(abi.encode(_currentValidatorSet));\n if (\n _domainSeparateValidatorSetHash(\n powerThreshold,\n validatorTimestamp,\n _currentValidatorSetHash\n ) != lastValidatorSetCheckpoint\n ) {\n revert SuppliedValidatorSetInvalid();\n }\n\n bytes32 _newCheckpoint = _domainSeparateValidatorSetHash(\n _newPowerThreshold,\n _newValidatorTimestamp,\n _newValidatorSetHash\n );\n _checkValidatorSignatures(\n _currentValidatorSet,\n _sigs,\n _newCheckpoint,\n powerThreshold\n );\n lastValidatorSetCheckpoint = _newCheckpoint;\n powerThreshold = _newPowerThreshold;\n validatorTimestamp = _newValidatorTimestamp;\n emit ValidatorSetUpdated(\n _newPowerThreshold,\n _newValidatorTimestamp,\n _newValidatorSetHash\n );\n }\n \n /*Getter functions*/\n /// @notice This getter verifies a given piece of data vs Validator signatures\n /// @param _attestData The data being verified\n /// @param _currentValidatorSet array of current validator set\n /// @param _sigs Signatures.\n function verifyOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external view{\n if (_currentValidatorSet.length != _sigs.length) {\n revert MalformedCurrentValidatorSet();\n }\n // Check that the supplied current validator set matches the saved checkpoint.\n if (\n _domainSeparateValidatorSetHash(\n powerThreshold,\n validatorTimestamp,\n keccak256(abi.encode(_currentValidatorSet))\n ) != lastValidatorSetCheckpoint\n ) {\n revert SuppliedValidatorSetInvalid();\n }\n bytes32 _dataDigest = keccak256(\n abi.encode(\n NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR,\n _attestData.queryId,\n _attestData.report.value,\n _attestData.report.timestamp,\n _attestData.report.aggregatePower,\n _attestData.report.previousTimestamp,\n _attestData.report.nextTimestamp,\n lastValidatorSetCheckpoint,\n _attestData.attestationTimestamp,\n _attestData.report.lastConsensusTimestamp\n )\n );\n _checkValidatorSignatures(\n _currentValidatorSet,\n _sigs,\n _dataDigest,\n powerThreshold\n );\n }\n\n /*Internal functions*/\n /// @dev Checks that enough voting power signed over a digest.\n /// It expects the signatures to be in the same order as the _currentValidators.\n /// @param _currentValidators The current validators.\n /// @param _sigs The current validators' signatures.\n /// @param _digest This is what we are checking they have signed.\n /// @param _powerThreshold At least this much power must have signed.\n function _checkValidatorSignatures(\n // The current validator set and their powers\n Validator[] calldata _currentValidators,\n Signature[] calldata _sigs,\n bytes32 _digest,\n uint256 _powerThreshold\n ) internal view {\n if (block.timestamp - (validatorTimestamp / MS_PER_SECOND) > unbondingPeriod) {\n revert StaleValidatorSet();\n }\n uint256 _cumulativePower = 0;\n for (uint256 _i = 0; _i < _currentValidators.length; _i++) {\n // If the signature is nil, then it's not present so continue.\n if (_sigs[_i].r == 0 && _sigs[_i].s == 0 && _sigs[_i].v == 0) {\n continue;\n }\n // Check that the current validator has signed off on the hash.\n if (!_verifySig(_currentValidators[_i].addr, _digest, _sigs[_i])) {\n revert InvalidSignature();\n }\n _cumulativePower += _currentValidators[_i].power;\n // Break early to avoid wasting gas.\n if (_cumulativePower >= _powerThreshold) {\n break;\n }\n }\n if (_cumulativePower < _powerThreshold) {\n revert InsufficientVotingPower();\n }\n }\n\n /// @dev A hash of all relevant information about the validator set.\n /// @param _powerThreshold Amount of voting power needed to approve operations. (2/3 of total)\n /// @param _validatorTimestamp The timestamp of the block where validator set is updated.\n /// @param _validatorSetHash Validator set hash.\n /// @return The domain separated hash of the validator set.\n function _domainSeparateValidatorSetHash(\n uint256 _powerThreshold,\n uint256 _validatorTimestamp,\n bytes32 _validatorSetHash\n ) internal view returns (bytes32) {\n return\n keccak256(\n abi.encode(\n VALIDATOR_SET_HASH_DOMAIN_SEPARATOR,\n _powerThreshold,\n _validatorTimestamp,\n _validatorSetHash\n )\n );\n }\n\n /// @notice Utility function to verify Tellor Layer signatures\n /// @param _signer The address that signed the message.\n /// @param _digest The digest that was signed.\n /// @param _sig The signature.\n /// @return bool True if the signature is valid.\n function _verifySig(\n address _signer,\n bytes32 _digest,\n Signature calldata _sig\n ) internal pure returns (bool) {\n _digest = sha256(abi.encodePacked(_digest));\n (address _recovered, RecoverError error, ) = tryRecover(_digest, _sig.v, _sig.r, _sig.s);\n if (error != RecoverError.NoError) {\n revert InvalidSignature();\n }\n return _signer == _recovered;\n }\n}\n"},"contracts/YoloTellorUser.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\nimport \"./interfaces/ITellorDataBridge.sol\";\n\ncontract YoloTellorUser {\n ITellorDataBridge public dataBridge;\n OracleData[] public oracleData;\n\n struct OracleData {\n uint256 value; // reported value\n uint256 timestamp; // aggregate report timestamp\n }\n\n constructor(address _dataBridge) {\n dataBridge = ITellorDataBridge(_dataBridge);\n }\n\n function updateOracleData(\n OracleAttestationData calldata _attestData,\n Validator[] calldata _currentValidatorSet,\n Signature[] calldata _sigs\n ) external {\n dataBridge.verifyOracleData(_attestData, _currentValidatorSet, _sigs);\n uint256 _value = abi.decode(_attestData.report.value, (uint256));\n oracleData.push(OracleData(\n _value, \n _attestData.report.timestamp\n ));\n }\n\n function getCurrentOracleData() external view returns (OracleData memory) {\n return oracleData[oracleData.length - 1];\n }\n\n function getValueCount() external view returns (uint256) {\n return oracleData.length;\n }\n}"}},"settings":{"optimizer":{"enabled":false,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/YoloTellorUser.sol":{"ast":{"absolutePath":"contracts/YoloTellorUser.sol","exportedSymbols":{"ITellorDataBridge":[166],"OracleAttestationData":[106],"ReportData":[119],"Signature":[126],"Validator":[131],"YoloTellorUser":[96]},"id":97,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"32:23:0"},{"absolutePath":"contracts/interfaces/ITellorDataBridge.sol","file":"./interfaces/ITellorDataBridge.sol","id":2,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":97,"sourceUnit":167,"src":"57:44:0","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"YoloTellorUser","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":96,"linearizedBaseContracts":[96],"name":"YoloTellorUser","nameLocation":"112:14:0","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"578855b2","id":5,"mutability":"mutable","name":"dataBridge","nameLocation":"158:10:0","nodeType":"VariableDeclaration","scope":96,"src":"133:35:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$166","typeString":"contract ITellorDataBridge"},"typeName":{"id":4,"nodeType":"UserDefinedTypeName","pathNode":{"id":3,"name":"ITellorDataBridge","nameLocations":["133:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":166,"src":"133:17:0"},"referencedDeclaration":166,"src":"133:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$166","typeString":"contract ITellorDataBridge"}},"visibility":"public"},{"constant":false,"functionSelector":"aa4dea00","id":9,"mutability":"mutable","name":"oracleData","nameLocation":"194:10:0","nodeType":"VariableDeclaration","scope":96,"src":"174:30:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$14_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData[]"},"typeName":{"baseType":{"id":7,"nodeType":"UserDefinedTypeName","pathNode":{"id":6,"name":"OracleData","nameLocations":["174:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":14,"src":"174:10:0"},"referencedDeclaration":14,"src":"174:10:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$14_storage_ptr","typeString":"struct YoloTellorUser.OracleData"}},"id":8,"nodeType":"ArrayTypeName","src":"174:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$14_storage_$dyn_storage_ptr","typeString":"struct YoloTellorUser.OracleData[]"}},"visibility":"public"},{"canonicalName":"YoloTellorUser.OracleData","id":14,"members":[{"constant":false,"id":11,"mutability":"mutable","name":"value","nameLocation":"247:5:0","nodeType":"VariableDeclaration","scope":14,"src":"239:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10,"name":"uint256","nodeType":"ElementaryTypeName","src":"239:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13,"mutability":"mutable","name":"timestamp","nameLocation":"288:9:0","nodeType":"VariableDeclaration","scope":14,"src":"280:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12,"name":"uint256","nodeType":"ElementaryTypeName","src":"280:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OracleData","nameLocation":"218:10:0","nodeType":"StructDefinition","scope":96,"src":"211:123:0","visibility":"public"},{"body":{"id":25,"nodeType":"Block","src":"373:60:0","statements":[{"expression":{"id":23,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":19,"name":"dataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"383:10:0","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$166","typeString":"contract ITellorDataBridge"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":21,"name":"_dataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16,"src":"414:11:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":20,"name":"ITellorDataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":166,"src":"396:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITellorDataBridge_$166_$","typeString":"type(contract ITellorDataBridge)"}},"id":22,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"396:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$166","typeString":"contract ITellorDataBridge"}},"src":"383:43:0","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$166","typeString":"contract ITellorDataBridge"}},"id":24,"nodeType":"ExpressionStatement","src":"383:43:0"}]},"id":26,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":17,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16,"mutability":"mutable","name":"_dataBridge","nameLocation":"360:11:0","nodeType":"VariableDeclaration","scope":26,"src":"352:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15,"name":"address","nodeType":"ElementaryTypeName","src":"352:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"351:21:0"},"returnParameters":{"id":18,"nodeType":"ParameterList","parameters":[],"src":"373:0:0"},"scope":96,"src":"340:93:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":71,"nodeType":"Block","src":"619:270:0","statements":[{"expression":{"arguments":[{"id":43,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"657:11:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},{"id":44,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33,"src":"670:20:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},{"id":45,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"692:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_OracleAttestationData_$106_calldata_ptr","typeString":"struct OracleAttestationData calldata"},{"typeIdentifier":"t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"},{"typeIdentifier":"t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}],"expression":{"id":40,"name":"dataBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"629:10:0","typeDescriptions":{"typeIdentifier":"t_contract$_ITellorDataBridge_$166","typeString":"contract ITellorDataBridge"}},"id":42,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"640:16:0","memberName":"verifyOracleData","nodeType":"MemberAccess","referencedDeclaration":165,"src":"629:27:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_struct$_OracleAttestationData_$106_memory_ptr_$_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (struct OracleAttestationData memory,struct Validator memory[] memory,struct Signature memory[] memory) view external"}},"id":46,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"629:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47,"nodeType":"ExpressionStatement","src":"629:69:0"},{"assignments":[49],"declarations":[{"constant":false,"id":49,"mutability":"mutable","name":"_value","nameLocation":"716:6:0","nodeType":"VariableDeclaration","scope":71,"src":"708:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59,"initialValue":{"arguments":[{"expression":{"expression":{"id":52,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"736:11:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":53,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"748:6:0","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":103,"src":"736:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$119_calldata_ptr","typeString":"struct ReportData calldata"}},"id":54,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"755:5:0","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":108,"src":"736:24:0","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":56,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"763:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":55,"name":"uint256","nodeType":"ElementaryTypeName","src":"763:7:0","typeDescriptions":{}}}],"id":57,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"762:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":50,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"725:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"729:6:0","memberName":"decode","nodeType":"MemberAccess","src":"725:10:0","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":58,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"725:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"708:64:0"},{"expression":{"arguments":[{"arguments":[{"id":64,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49,"src":"822:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":65,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"843:11:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":66,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"855:6:0","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":103,"src":"843:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$119_calldata_ptr","typeString":"struct ReportData calldata"}},"id":67,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"862:9:0","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":110,"src":"843:28:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63,"name":"OracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14,"src":"798:10:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_OracleData_$14_storage_ptr_$","typeString":"type(struct YoloTellorUser.OracleData storage pointer)"}},"id":68,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"798:83:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$14_memory_ptr","typeString":"struct YoloTellorUser.OracleData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_OracleData_$14_memory_ptr","typeString":"struct YoloTellorUser.OracleData memory"}],"expression":{"id":60,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9,"src":"782:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$14_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":62,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"793:4:0","memberName":"push","nodeType":"MemberAccess","src":"782:15:0","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_OracleData_$14_storage_$dyn_storage_ptr_$_t_struct$_OracleData_$14_storage_$returns$__$attached_to$_t_array$_t_struct$_OracleData_$14_storage_$dyn_storage_ptr_$","typeString":"function (struct YoloTellorUser.OracleData storage ref[] storage pointer,struct YoloTellorUser.OracleData storage ref)"}},"id":69,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"782:100:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70,"nodeType":"ExpressionStatement","src":"782:100:0"}]},"functionSelector":"61808010","id":72,"implemented":true,"kind":"function","modifiers":[],"name":"updateOracleData","nameLocation":"448:16:0","nodeType":"FunctionDefinition","parameters":{"id":38,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29,"mutability":"mutable","name":"_attestData","nameLocation":"505:11:0","nodeType":"VariableDeclaration","scope":72,"src":"474:42:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":28,"nodeType":"UserDefinedTypeName","pathNode":{"id":27,"name":"OracleAttestationData","nameLocations":["474:21:0"],"nodeType":"IdentifierPath","referencedDeclaration":106,"src":"474:21:0"},"referencedDeclaration":106,"src":"474:21:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":33,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"547:20:0","nodeType":"VariableDeclaration","scope":72,"src":"526:41:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":31,"nodeType":"UserDefinedTypeName","pathNode":{"id":30,"name":"Validator","nameLocations":["526:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":131,"src":"526:9:0"},"referencedDeclaration":131,"src":"526:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$131_storage_ptr","typeString":"struct Validator"}},"id":32,"nodeType":"ArrayTypeName","src":"526:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$131_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":37,"mutability":"mutable","name":"_sigs","nameLocation":"598:5:0","nodeType":"VariableDeclaration","scope":72,"src":"577:26:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":35,"nodeType":"UserDefinedTypeName","pathNode":{"id":34,"name":"Signature","nameLocations":["577:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":126,"src":"577:9:0"},"referencedDeclaration":126,"src":"577:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$126_storage_ptr","typeString":"struct Signature"}},"id":36,"nodeType":"ArrayTypeName","src":"577:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$126_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"464:145:0"},"returnParameters":{"id":39,"nodeType":"ParameterList","parameters":[],"src":"619:0:0"},"scope":96,"src":"439:450:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":85,"nodeType":"Block","src":"969:57:0","statements":[{"expression":{"baseExpression":{"id":78,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9,"src":"986:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$14_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":83,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9,"src":"997:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$14_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":80,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1008:6:0","memberName":"length","nodeType":"MemberAccess","src":"997:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":81,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1017:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"997:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"986:33:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$14_storage","typeString":"struct YoloTellorUser.OracleData storage ref"}},"functionReturnParameters":77,"id":84,"nodeType":"Return","src":"979:40:0"}]},"functionSelector":"bffe07bf","id":86,"implemented":true,"kind":"function","modifiers":[],"name":"getCurrentOracleData","nameLocation":"904:20:0","nodeType":"FunctionDefinition","parameters":{"id":73,"nodeType":"ParameterList","parameters":[],"src":"924:2:0"},"returnParameters":{"id":77,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86,"src":"950:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$14_memory_ptr","typeString":"struct YoloTellorUser.OracleData"},"typeName":{"id":75,"nodeType":"UserDefinedTypeName","pathNode":{"id":74,"name":"OracleData","nameLocations":["950:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":14,"src":"950:10:0"},"referencedDeclaration":14,"src":"950:10:0","typeDescriptions":{"typeIdentifier":"t_struct$_OracleData_$14_storage_ptr","typeString":"struct YoloTellorUser.OracleData"}},"visibility":"internal"}],"src":"949:19:0"},"scope":96,"src":"895:131:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":94,"nodeType":"Block","src":"1089:41:0","statements":[{"expression":{"expression":{"id":91,"name":"oracleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9,"src":"1106:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_OracleData_$14_storage_$dyn_storage","typeString":"struct YoloTellorUser.OracleData storage ref[] storage ref"}},"id":92,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1117:6:0","memberName":"length","nodeType":"MemberAccess","src":"1106:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":90,"id":93,"nodeType":"Return","src":"1099:24:0"}]},"functionSelector":"413a89b4","id":95,"implemented":true,"kind":"function","modifiers":[],"name":"getValueCount","nameLocation":"1041:13:0","nodeType":"FunctionDefinition","parameters":{"id":87,"nodeType":"ParameterList","parameters":[],"src":"1054:2:0"},"returnParameters":{"id":90,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95,"src":"1080:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88,"name":"uint256","nodeType":"ElementaryTypeName","src":"1080:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1079:9:0"},"scope":96,"src":"1032:98:0","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":97,"src":"103:1029:0","usedErrors":[]}],"src":"32:1100:0"},"id":0},"contracts/interfaces/ITellorDataBridge.sol":{"ast":{"absolutePath":"contracts/interfaces/ITellorDataBridge.sol","exportedSymbols":{"ITellorDataBridge":[166],"OracleAttestationData":[106],"ReportData":[119],"Signature":[126],"Validator":[131]},"id":167,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":98,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:1"},{"canonicalName":"OracleAttestationData","id":106,"members":[{"constant":false,"id":100,"mutability":"mutable","name":"queryId","nameLocation":"100:7:1","nodeType":"VariableDeclaration","scope":106,"src":"92:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":99,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":103,"mutability":"mutable","name":"report","nameLocation":"124:6:1","nodeType":"VariableDeclaration","scope":106,"src":"113:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$119_storage_ptr","typeString":"struct ReportData"},"typeName":{"id":102,"nodeType":"UserDefinedTypeName","pathNode":{"id":101,"name":"ReportData","nameLocations":["113:10:1"],"nodeType":"IdentifierPath","referencedDeclaration":119,"src":"113:10:1"},"referencedDeclaration":119,"src":"113:10:1","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$119_storage_ptr","typeString":"struct ReportData"}},"visibility":"internal"},{"constant":false,"id":105,"mutability":"mutable","name":"attestationTimestamp","nameLocation":"144:20:1","nodeType":"VariableDeclaration","scope":106,"src":"136:28:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":104,"name":"uint256","nodeType":"ElementaryTypeName","src":"136:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OracleAttestationData","nameLocation":"64:21:1","nodeType":"StructDefinition","scope":167,"src":"57:155:1","visibility":"public"},{"canonicalName":"ReportData","id":119,"members":[{"constant":false,"id":108,"mutability":"mutable","name":"value","nameLocation":"244:5:1","nodeType":"VariableDeclaration","scope":119,"src":"238:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":107,"name":"bytes","nodeType":"ElementaryTypeName","src":"238:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":110,"mutability":"mutable","name":"timestamp","nameLocation":"263:9:1","nodeType":"VariableDeclaration","scope":119,"src":"255:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":109,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":112,"mutability":"mutable","name":"aggregatePower","nameLocation":"332:14:1","nodeType":"VariableDeclaration","scope":119,"src":"324:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":111,"name":"uint256","nodeType":"ElementaryTypeName","src":"324:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":114,"mutability":"mutable","name":"previousTimestamp","nameLocation":"360:17:1","nodeType":"VariableDeclaration","scope":119,"src":"352:25:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":113,"name":"uint256","nodeType":"ElementaryTypeName","src":"352:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":116,"mutability":"mutable","name":"nextTimestamp","nameLocation":"391:13:1","nodeType":"VariableDeclaration","scope":119,"src":"383:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115,"name":"uint256","nodeType":"ElementaryTypeName","src":"383:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":118,"mutability":"mutable","name":"lastConsensusTimestamp","nameLocation":"418:22:1","nodeType":"VariableDeclaration","scope":119,"src":"410:30:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":117,"name":"uint256","nodeType":"ElementaryTypeName","src":"410:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ReportData","nameLocation":"221:10:1","nodeType":"StructDefinition","scope":167,"src":"214:229:1","visibility":"public"},{"canonicalName":"Signature","id":126,"members":[{"constant":false,"id":121,"mutability":"mutable","name":"v","nameLocation":"474:1:1","nodeType":"VariableDeclaration","scope":126,"src":"468:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":120,"name":"uint8","nodeType":"ElementaryTypeName","src":"468:5:1","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":123,"mutability":"mutable","name":"r","nameLocation":"489:1:1","nodeType":"VariableDeclaration","scope":126,"src":"481:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":122,"name":"bytes32","nodeType":"ElementaryTypeName","src":"481:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":125,"mutability":"mutable","name":"s","nameLocation":"504:1:1","nodeType":"VariableDeclaration","scope":126,"src":"496:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"496:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Signature","nameLocation":"452:9:1","nodeType":"StructDefinition","scope":167,"src":"445:63:1","visibility":"public"},{"canonicalName":"Validator","id":131,"members":[{"constant":false,"id":128,"mutability":"mutable","name":"addr","nameLocation":"541:4:1","nodeType":"VariableDeclaration","scope":131,"src":"533:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127,"name":"address","nodeType":"ElementaryTypeName","src":"533:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":130,"mutability":"mutable","name":"power","nameLocation":"559:5:1","nodeType":"VariableDeclaration","scope":131,"src":"551:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":129,"name":"uint256","nodeType":"ElementaryTypeName","src":"551:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Validator","nameLocation":"517:9:1","nodeType":"StructDefinition","scope":167,"src":"510:57:1","visibility":"public"},{"abstract":false,"baseContracts":[],"canonicalName":"ITellorDataBridge","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":166,"linearizedBaseContracts":[166],"name":"ITellorDataBridge","nameLocation":"579:17:1","nodeType":"ContractDefinition","nodes":[{"functionSelector":"452a9320","id":136,"implemented":false,"kind":"function","modifiers":[],"name":"guardian","nameLocation":"612:8:1","nodeType":"FunctionDefinition","parameters":{"id":132,"nodeType":"ParameterList","parameters":[],"src":"620:2:1"},"returnParameters":{"id":135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":136,"src":"646:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":133,"name":"address","nodeType":"ElementaryTypeName","src":"646:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"645:9:1"},"scope":166,"src":"603:52:1","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ba95ec27","id":141,"implemented":false,"kind":"function","modifiers":[],"name":"powerThreshold","nameLocation":"669:14:1","nodeType":"FunctionDefinition","parameters":{"id":137,"nodeType":"ParameterList","parameters":[],"src":"683:2:1"},"returnParameters":{"id":140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":139,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":141,"src":"709:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":138,"name":"uint256","nodeType":"ElementaryTypeName","src":"709:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"708:9:1"},"scope":166,"src":"660:58:1","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"6cf6d675","id":146,"implemented":false,"kind":"function","modifiers":[],"name":"unbondingPeriod","nameLocation":"732:15:1","nodeType":"FunctionDefinition","parameters":{"id":142,"nodeType":"ParameterList","parameters":[],"src":"747:2:1"},"returnParameters":{"id":145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":144,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":146,"src":"773:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":143,"name":"uint256","nodeType":"ElementaryTypeName","src":"773:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"772:9:1"},"scope":166,"src":"723:59:1","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"4f76f1ee","id":151,"implemented":false,"kind":"function","modifiers":[],"name":"validatorTimestamp","nameLocation":"796:18:1","nodeType":"FunctionDefinition","parameters":{"id":147,"nodeType":"ParameterList","parameters":[],"src":"814:2:1"},"returnParameters":{"id":150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":149,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":151,"src":"840:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":148,"name":"uint256","nodeType":"ElementaryTypeName","src":"840:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"839:9:1"},"scope":166,"src":"787:62:1","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"5e0d3b0f","id":165,"implemented":false,"kind":"function","modifiers":[],"name":"verifyOracleData","nameLocation":"863:16:1","nodeType":"FunctionDefinition","parameters":{"id":163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":154,"mutability":"mutable","name":"_attestData","nameLocation":"920:11:1","nodeType":"VariableDeclaration","scope":165,"src":"889:42:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":153,"nodeType":"UserDefinedTypeName","pathNode":{"id":152,"name":"OracleAttestationData","nameLocations":["889:21:1"],"nodeType":"IdentifierPath","referencedDeclaration":106,"src":"889:21:1"},"referencedDeclaration":106,"src":"889:21:1","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$106_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":158,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"962:20:1","nodeType":"VariableDeclaration","scope":165,"src":"941:41:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":156,"nodeType":"UserDefinedTypeName","pathNode":{"id":155,"name":"Validator","nameLocations":["941:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":131,"src":"941:9:1"},"referencedDeclaration":131,"src":"941:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$131_storage_ptr","typeString":"struct Validator"}},"id":157,"nodeType":"ArrayTypeName","src":"941:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$131_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":162,"mutability":"mutable","name":"_sigs","nameLocation":"1013:5:1","nodeType":"VariableDeclaration","scope":165,"src":"992:26:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":160,"nodeType":"UserDefinedTypeName","pathNode":{"id":159,"name":"Signature","nameLocations":["992:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":126,"src":"992:9:1"},"referencedDeclaration":126,"src":"992:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$126_storage_ptr","typeString":"struct Signature"}},"id":161,"nodeType":"ArrayTypeName","src":"992:11:1","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$126_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"879:145:1"},"returnParameters":{"id":164,"nodeType":"ParameterList","parameters":[],"src":"1038:0:1"},"scope":166,"src":"854:185:1","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":167,"src":"569:472:1","usedErrors":[]}],"src":"32:1009:1"},"id":1},"contracts/testing/bridge/ECDSA.sol":{"ast":{"absolutePath":"contracts/testing/bridge/ECDSA.sol","exportedSymbols":{"ECDSA":[524]},"id":525,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":168,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"111:23:2"},{"abstract":false,"baseContracts":[],"canonicalName":"ECDSA","contractDependencies":[],"contractKind":"contract","documentation":{"id":169,"nodeType":"StructuredDocumentation","src":"136:205:2","text":" @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n These functions can be used to verify that a message was signed by the holder\n of the private keys of a given address."},"fullyImplemented":true,"id":524,"linearizedBaseContracts":[524],"name":"ECDSA","nameLocation":"351:5:2","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ECDSA.RecoverError","id":174,"members":[{"id":170,"name":"NoError","nameLocation":"391:7:2","nodeType":"EnumValue","src":"391:7:2"},{"id":171,"name":"InvalidSignature","nameLocation":"408:16:2","nodeType":"EnumValue","src":"408:16:2"},{"id":172,"name":"InvalidSignatureLength","nameLocation":"434:22:2","nodeType":"EnumValue","src":"434:22:2"},{"id":173,"name":"InvalidSignatureS","nameLocation":"466:17:2","nodeType":"EnumValue","src":"466:17:2"}],"name":"RecoverError","nameLocation":"368:12:2","nodeType":"EnumDefinition","src":"363:126:2"},{"documentation":{"id":175,"nodeType":"StructuredDocumentation","src":"495:63:2","text":" @dev The signature derives the `address(0)`."},"errorSelector":"f645eedf","id":177,"name":"ECDSAInvalidSignature","nameLocation":"569:21:2","nodeType":"ErrorDefinition","parameters":{"id":176,"nodeType":"ParameterList","parameters":[],"src":"590:2:2"},"src":"563:30:2"},{"documentation":{"id":178,"nodeType":"StructuredDocumentation","src":"599:60:2","text":" @dev The signature has an invalid length."},"errorSelector":"fce698f7","id":182,"name":"ECDSAInvalidSignatureLength","nameLocation":"670:27:2","nodeType":"ErrorDefinition","parameters":{"id":181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":180,"mutability":"mutable","name":"length","nameLocation":"706:6:2","nodeType":"VariableDeclaration","scope":182,"src":"698:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":179,"name":"uint256","nodeType":"ElementaryTypeName","src":"698:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"697:16:2"},"src":"664:50:2"},{"documentation":{"id":183,"nodeType":"StructuredDocumentation","src":"720:85:2","text":" @dev The signature has an S value that is in the upper half order."},"errorSelector":"d78bce0c","id":187,"name":"ECDSAInvalidSignatureS","nameLocation":"816:22:2","nodeType":"ErrorDefinition","parameters":{"id":186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":185,"mutability":"mutable","name":"s","nameLocation":"847:1:2","nodeType":"VariableDeclaration","scope":187,"src":"839:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"839:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"838:11:2"},"src":"810:40:2"},{"body":{"id":239,"nodeType":"Block","src":"2263:715:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":202,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"2277:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2287:6:2","memberName":"length","nodeType":"MemberAccess","src":"2277:16:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3635","id":204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2297:2:2","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"65"},"src":"2277:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":237,"nodeType":"Block","src":"2802:170:2","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2849:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2841:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":224,"name":"address","nodeType":"ElementaryTypeName","src":"2841:7:2","typeDescriptions":{}}},"id":227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2841:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":228,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"2869:12:2","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$174_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2882:22:2","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":172,"src":"2869:35:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"expression":{"id":232,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"2930:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2940:6:2","memberName":"length","nodeType":"MemberAccess","src":"2930:16:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2922:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2922:7:2","typeDescriptions":{}}},"id":234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2922:25:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":235,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2823:138:2","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":201,"id":236,"nodeType":"Return","src":"2816:145:2"}]},"id":238,"nodeType":"IfStatement","src":"2273:699:2","trueBody":{"id":223,"nodeType":"Block","src":"2301:495:2","statements":[{"assignments":[207],"declarations":[{"constant":false,"id":207,"mutability":"mutable","name":"r","nameLocation":"2323:1:2","nodeType":"VariableDeclaration","scope":223,"src":"2315:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":206,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2315:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":208,"nodeType":"VariableDeclarationStatement","src":"2315:9:2"},{"assignments":[210],"declarations":[{"constant":false,"id":210,"mutability":"mutable","name":"s","nameLocation":"2346:1:2","nodeType":"VariableDeclaration","scope":223,"src":"2338:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2338:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":211,"nodeType":"VariableDeclarationStatement","src":"2338:9:2"},{"assignments":[213],"declarations":[{"constant":false,"id":213,"mutability":"mutable","name":"v","nameLocation":"2367:1:2","nodeType":"VariableDeclaration","scope":223,"src":"2361:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":212,"name":"uint8","nodeType":"ElementaryTypeName","src":"2361:5:2","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":214,"nodeType":"VariableDeclarationStatement","src":"2361:7:2"},{"AST":{"nodeType":"YulBlock","src":"2569:171:2","statements":[{"nodeType":"YulAssignment","src":"2587:32:2","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2602:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2613:4:2","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2598:3:2"},"nodeType":"YulFunctionCall","src":"2598:20:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2592:5:2"},"nodeType":"YulFunctionCall","src":"2592:27:2"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"2587:1:2"}]},{"nodeType":"YulAssignment","src":"2636:32:2","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2651:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2662:4:2","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2647:3:2"},"nodeType":"YulFunctionCall","src":"2647:20:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2641:5:2"},"nodeType":"YulFunctionCall","src":"2641:27:2"},"variableNames":[{"name":"s","nodeType":"YulIdentifier","src":"2636:1:2"}]},{"nodeType":"YulAssignment","src":"2685:41:2","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2695:1:2","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2708:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2719:4:2","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2704:3:2"},"nodeType":"YulFunctionCall","src":"2704:20:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2698:5:2"},"nodeType":"YulFunctionCall","src":"2698:27:2"}],"functionName":{"name":"byte","nodeType":"YulIdentifier","src":"2690:4:2"},"nodeType":"YulFunctionCall","src":"2690:36:2"},"variableNames":[{"name":"v","nodeType":"YulIdentifier","src":"2685:1:2"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":207,"isOffset":false,"isSlot":false,"src":"2587:1:2","valueSize":1},{"declaration":210,"isOffset":false,"isSlot":false,"src":"2636:1:2","valueSize":1},{"declaration":192,"isOffset":false,"isSlot":false,"src":"2602:9:2","valueSize":1},{"declaration":192,"isOffset":false,"isSlot":false,"src":"2651:9:2","valueSize":1},{"declaration":192,"isOffset":false,"isSlot":false,"src":"2708:9:2","valueSize":1},{"declaration":213,"isOffset":false,"isSlot":false,"src":"2685:1:2","valueSize":1}],"id":215,"nodeType":"InlineAssembly","src":"2560:180:2"},{"expression":{"arguments":[{"id":217,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":190,"src":"2771:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":218,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":213,"src":"2777:1:2","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":219,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":207,"src":"2780:1:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":220,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"2783:1:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":216,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[240,320,428],"referencedDeclaration":428,"src":"2760:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2760:25:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":201,"id":222,"nodeType":"Return","src":"2753:32:2"}]}}]},"documentation":{"id":188,"nodeType":"StructuredDocumentation","src":"856:1267:2","text":" @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not\n return address(0) without also returning an error description. Errors are documented using an enum (error type)\n and a bytes32 providing additional information about the error.\n If no error is returned, then the address can be used for verification purposes.\n The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n Documentation for signature generation:\n - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]"},"id":240,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"2137:10:2","nodeType":"FunctionDefinition","parameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":190,"mutability":"mutable","name":"hash","nameLocation":"2165:4:2","nodeType":"VariableDeclaration","scope":240,"src":"2157:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2157:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":192,"mutability":"mutable","name":"signature","nameLocation":"2192:9:2","nodeType":"VariableDeclaration","scope":240,"src":"2179:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":191,"name":"bytes","nodeType":"ElementaryTypeName","src":"2179:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2147:60:2"},"returnParameters":{"id":201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":195,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":240,"src":"2231:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":194,"name":"address","nodeType":"ElementaryTypeName","src":"2231:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":198,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":240,"src":"2240:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":197,"nodeType":"UserDefinedTypeName","pathNode":{"id":196,"name":"RecoverError","nameLocations":["2240:12:2"],"nodeType":"IdentifierPath","referencedDeclaration":174,"src":"2240:12:2"},"referencedDeclaration":174,"src":"2240:12:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":240,"src":"2254:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2254:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2230:32:2"},"scope":524,"src":"2128:850:2","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":269,"nodeType":"Block","src":"3894:202:2","statements":[{"assignments":[251,254,256],"declarations":[{"constant":false,"id":251,"mutability":"mutable","name":"recovered","nameLocation":"3913:9:2","nodeType":"VariableDeclaration","scope":269,"src":"3905:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":250,"name":"address","nodeType":"ElementaryTypeName","src":"3905:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":254,"mutability":"mutable","name":"error","nameLocation":"3937:5:2","nodeType":"VariableDeclaration","scope":269,"src":"3924:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":253,"nodeType":"UserDefinedTypeName","pathNode":{"id":252,"name":"RecoverError","nameLocations":["3924:12:2"],"nodeType":"IdentifierPath","referencedDeclaration":174,"src":"3924:12:2"},"referencedDeclaration":174,"src":"3924:12:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":256,"mutability":"mutable","name":"errorArg","nameLocation":"3952:8:2","nodeType":"VariableDeclaration","scope":269,"src":"3944:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":255,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3944:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":261,"initialValue":{"arguments":[{"id":258,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":243,"src":"3988:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":259,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":245,"src":"4006:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":257,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[240,320,428],"referencedDeclaration":240,"src":"3964:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"function (bytes32,bytes memory) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3964:61:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"3904:121:2"},{"expression":{"arguments":[{"id":263,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"4047:5:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},{"id":264,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":256,"src":"4054:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":262,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":513,"src":"4035:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$174_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4035:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":266,"nodeType":"ExpressionStatement","src":"4035:28:2"},{"expression":{"id":267,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":251,"src":"4080:9:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":249,"id":268,"nodeType":"Return","src":"4073:16:2"}]},"documentation":{"id":241,"nodeType":"StructuredDocumentation","src":"2984:796:2","text":" @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it."},"id":270,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"3794:7:2","nodeType":"FunctionDefinition","parameters":{"id":246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":243,"mutability":"mutable","name":"hash","nameLocation":"3819:4:2","nodeType":"VariableDeclaration","scope":270,"src":"3811:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":242,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3811:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":245,"mutability":"mutable","name":"signature","nameLocation":"3846:9:2","nodeType":"VariableDeclaration","scope":270,"src":"3833:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":244,"name":"bytes","nodeType":"ElementaryTypeName","src":"3833:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3801:60:2"},"returnParameters":{"id":249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":270,"src":"3885:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":247,"name":"address","nodeType":"ElementaryTypeName","src":"3885:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3884:9:2"},"scope":524,"src":"3785:311:2","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":319,"nodeType":"Block","src":"4454:396:2","statements":[{"id":318,"nodeType":"UncheckedBlock","src":"4464:380:2","statements":[{"assignments":[288],"declarations":[{"constant":false,"id":288,"mutability":"mutable","name":"s","nameLocation":"4496:1:2","nodeType":"VariableDeclaration","scope":318,"src":"4488:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4488:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":295,"initialValue":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":289,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":277,"src":"4500:2:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"hexValue":"307837666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666","id":292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4550:66:2","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"},"value":"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"}],"id":291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4521:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":290,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4521:7:2","typeDescriptions":{}}},"id":293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4521:113:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4500:134:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4488:146:2"},{"assignments":[297],"declarations":[{"constant":false,"id":297,"mutability":"mutable","name":"v","nameLocation":"4751:1:2","nodeType":"VariableDeclaration","scope":318,"src":"4745:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":296,"name":"uint8","nodeType":"ElementaryTypeName","src":"4745:5:2","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":310,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":302,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":277,"src":"4770:2:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4762:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":300,"name":"uint256","nodeType":"ElementaryTypeName","src":"4762:7:2","typeDescriptions":{}}},"id":303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4762:11:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4777:3:2","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"4762:18:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":306,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4761:20:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3237","id":307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4784:2:2","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},"src":"4761:25:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4755:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":298,"name":"uint8","nodeType":"ElementaryTypeName","src":"4755:5:2","typeDescriptions":{}}},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4755:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"4745:42:2"},{"expression":{"arguments":[{"id":312,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":273,"src":"4819:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":313,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":297,"src":"4825:1:2","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":314,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":275,"src":"4828:1:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":315,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"4831:1:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":311,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[240,320,428],"referencedDeclaration":428,"src":"4808:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4808:25:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":286,"id":317,"nodeType":"Return","src":"4801:32:2"}]}]},"documentation":{"id":271,"nodeType":"StructuredDocumentation","src":"4102:205:2","text":" @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n See https://eips.ethereum.org/EIPS/eip-2098[ERC-2098 short signatures]"},"id":320,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"4321:10:2","nodeType":"FunctionDefinition","parameters":{"id":278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":273,"mutability":"mutable","name":"hash","nameLocation":"4349:4:2","nodeType":"VariableDeclaration","scope":320,"src":"4341:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":272,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4341:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":275,"mutability":"mutable","name":"r","nameLocation":"4371:1:2","nodeType":"VariableDeclaration","scope":320,"src":"4363:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4363:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":277,"mutability":"mutable","name":"vs","nameLocation":"4390:2:2","nodeType":"VariableDeclaration","scope":320,"src":"4382:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4382:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4331:67:2"},"returnParameters":{"id":286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":280,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":320,"src":"4422:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":279,"name":"address","nodeType":"ElementaryTypeName","src":"4422:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":283,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":320,"src":"4431:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":282,"nodeType":"UserDefinedTypeName","pathNode":{"id":281,"name":"RecoverError","nameLocations":["4431:12:2"],"nodeType":"IdentifierPath","referencedDeclaration":174,"src":"4431:12:2"},"referencedDeclaration":174,"src":"4431:12:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":285,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":320,"src":"4445:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4445:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4421:32:2"},"scope":524,"src":"4312:538:2","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":352,"nodeType":"Block","src":"5093:210:2","statements":[{"assignments":[333,336,338],"declarations":[{"constant":false,"id":333,"mutability":"mutable","name":"recovered","nameLocation":"5112:9:2","nodeType":"VariableDeclaration","scope":352,"src":"5104:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":332,"name":"address","nodeType":"ElementaryTypeName","src":"5104:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":336,"mutability":"mutable","name":"error","nameLocation":"5136:5:2","nodeType":"VariableDeclaration","scope":352,"src":"5123:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":335,"nodeType":"UserDefinedTypeName","pathNode":{"id":334,"name":"RecoverError","nameLocations":["5123:12:2"],"nodeType":"IdentifierPath","referencedDeclaration":174,"src":"5123:12:2"},"referencedDeclaration":174,"src":"5123:12:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":338,"mutability":"mutable","name":"errorArg","nameLocation":"5151:8:2","nodeType":"VariableDeclaration","scope":352,"src":"5143:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":337,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5143:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":344,"initialValue":{"arguments":[{"id":340,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":323,"src":"5187:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":341,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":325,"src":"5205:1:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":342,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":327,"src":"5220:2:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":339,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[240,320,428],"referencedDeclaration":320,"src":"5163:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5163:69:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"5103:129:2"},{"expression":{"arguments":[{"id":346,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":336,"src":"5254:5:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},{"id":347,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":338,"src":"5261:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":345,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":513,"src":"5242:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$174_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5242:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":349,"nodeType":"ExpressionStatement","src":"5242:28:2"},{"expression":{"id":350,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":333,"src":"5287:9:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":331,"id":351,"nodeType":"Return","src":"5280:16:2"}]},"documentation":{"id":321,"nodeType":"StructuredDocumentation","src":"4856:116:2","text":" @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately."},"id":353,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"4986:7:2","nodeType":"FunctionDefinition","parameters":{"id":328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":323,"mutability":"mutable","name":"hash","nameLocation":"5011:4:2","nodeType":"VariableDeclaration","scope":353,"src":"5003:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":322,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5003:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":325,"mutability":"mutable","name":"r","nameLocation":"5033:1:2","nodeType":"VariableDeclaration","scope":353,"src":"5025:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":324,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5025:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":327,"mutability":"mutable","name":"vs","nameLocation":"5052:2:2","nodeType":"VariableDeclaration","scope":353,"src":"5044:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5044:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4993:67:2"},"returnParameters":{"id":331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":330,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":353,"src":"5084:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":329,"name":"address","nodeType":"ElementaryTypeName","src":"5084:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5083:9:2"},"scope":524,"src":"4977:326:2","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":427,"nodeType":"Block","src":"5597:1406:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":374,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":362,"src":"6506:1:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6498:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":372,"name":"uint256","nodeType":"ElementaryTypeName","src":"6498:7:2","typeDescriptions":{}}},"id":375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6498:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130","id":376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6523:66:2","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1","typeString":"int_const 5789...(69 digits omitted)...7168"},"value":"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0"},"src":"6498:91:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":388,"nodeType":"IfStatement","src":"6481:198:2","trueBody":{"id":387,"nodeType":"Block","src":"6600:79:2","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6630:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6622:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":378,"name":"address","nodeType":"ElementaryTypeName","src":"6622:7:2","typeDescriptions":{}}},"id":381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6622:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":382,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"6634:12:2","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$174_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6647:17:2","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":173,"src":"6634:30:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},{"id":384,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":362,"src":"6666:1:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":385,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6621:47:2","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":371,"id":386,"nodeType":"Return","src":"6614:54:2"}]}},{"assignments":[390],"declarations":[{"constant":false,"id":390,"mutability":"mutable","name":"signer","nameLocation":"6781:6:2","nodeType":"VariableDeclaration","scope":427,"src":"6773:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":389,"name":"address","nodeType":"ElementaryTypeName","src":"6773:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":397,"initialValue":{"arguments":[{"id":392,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":356,"src":"6800:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":393,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":358,"src":"6806:1:2","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":394,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":360,"src":"6809:1:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":395,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":362,"src":"6812:1:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":391,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"6790:9:2","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6790:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6773:41:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":398,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":390,"src":"6828:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6846:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6838:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":399,"name":"address","nodeType":"ElementaryTypeName","src":"6838:7:2","typeDescriptions":{}}},"id":402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6838:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6828:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":417,"nodeType":"IfStatement","src":"6824:113:2","trueBody":{"id":416,"nodeType":"Block","src":"6850:87:2","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6880:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6872:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":404,"name":"address","nodeType":"ElementaryTypeName","src":"6872:7:2","typeDescriptions":{}}},"id":407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6872:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":408,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"6884:12:2","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$174_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6897:16:2","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":171,"src":"6884:29:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"hexValue":"30","id":412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6923:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6915:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":410,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6915:7:2","typeDescriptions":{}}},"id":413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6915:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":414,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6871:55:2","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":371,"id":415,"nodeType":"Return","src":"6864:62:2"}]}},{"expression":{"components":[{"id":418,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":390,"src":"6955:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":419,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"6963:12:2","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$174_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":420,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6976:7:2","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":170,"src":"6963:20:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"hexValue":"30","id":423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6993:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6985:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":421,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6985:7:2","typeDescriptions":{}}},"id":424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6985:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":425,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6954:42:2","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":371,"id":426,"nodeType":"Return","src":"6947:49:2"}]},"documentation":{"id":354,"nodeType":"StructuredDocumentation","src":"5309:125:2","text":" @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n `r` and `s` signature fields separately."},"id":428,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"5448:10:2","nodeType":"FunctionDefinition","parameters":{"id":363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":356,"mutability":"mutable","name":"hash","nameLocation":"5476:4:2","nodeType":"VariableDeclaration","scope":428,"src":"5468:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5468:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":358,"mutability":"mutable","name":"v","nameLocation":"5496:1:2","nodeType":"VariableDeclaration","scope":428,"src":"5490:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":357,"name":"uint8","nodeType":"ElementaryTypeName","src":"5490:5:2","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":360,"mutability":"mutable","name":"r","nameLocation":"5515:1:2","nodeType":"VariableDeclaration","scope":428,"src":"5507:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":359,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5507:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":362,"mutability":"mutable","name":"s","nameLocation":"5534:1:2","nodeType":"VariableDeclaration","scope":428,"src":"5526:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5526:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5458:83:2"},"returnParameters":{"id":371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":365,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":428,"src":"5565:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":364,"name":"address","nodeType":"ElementaryTypeName","src":"5565:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":428,"src":"5574:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":367,"nodeType":"UserDefinedTypeName","pathNode":{"id":366,"name":"RecoverError","nameLocations":["5574:12:2"],"nodeType":"IdentifierPath","referencedDeclaration":174,"src":"5574:12:2"},"referencedDeclaration":174,"src":"5574:12:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":370,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":428,"src":"5588:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":369,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5588:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5564:32:2"},"scope":524,"src":"5439:1564:2","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":463,"nodeType":"Block","src":"7268:224:2","statements":[{"assignments":[443,446,448],"declarations":[{"constant":false,"id":443,"mutability":"mutable","name":"recovered","nameLocation":"7287:9:2","nodeType":"VariableDeclaration","scope":463,"src":"7279:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":442,"name":"address","nodeType":"ElementaryTypeName","src":"7279:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":446,"mutability":"mutable","name":"error","nameLocation":"7311:5:2","nodeType":"VariableDeclaration","scope":463,"src":"7298:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":445,"nodeType":"UserDefinedTypeName","pathNode":{"id":444,"name":"RecoverError","nameLocations":["7298:12:2"],"nodeType":"IdentifierPath","referencedDeclaration":174,"src":"7298:12:2"},"referencedDeclaration":174,"src":"7298:12:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":448,"mutability":"mutable","name":"errorArg","nameLocation":"7326:8:2","nodeType":"VariableDeclaration","scope":463,"src":"7318:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":447,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7318:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":455,"initialValue":{"arguments":[{"id":450,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":431,"src":"7362:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":451,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"7380:1:2","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":452,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"7395:1:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":453,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":437,"src":"7410:1:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":449,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[240,320,428],"referencedDeclaration":428,"src":"7338:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7338:83:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"7278:143:2"},{"expression":{"arguments":[{"id":457,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":446,"src":"7443:5:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},{"id":458,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":448,"src":"7450:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":456,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":513,"src":"7431:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$174_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7431:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":460,"nodeType":"ExpressionStatement","src":"7431:28:2"},{"expression":{"id":461,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":443,"src":"7476:9:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":441,"id":462,"nodeType":"Return","src":"7469:16:2"}]},"documentation":{"id":429,"nodeType":"StructuredDocumentation","src":"7009:122:2","text":" @dev Overload of {ECDSA-recover} that receives the `v`,\n `r` and `s` signature fields separately."},"id":464,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"7145:7:2","nodeType":"FunctionDefinition","parameters":{"id":438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":431,"mutability":"mutable","name":"hash","nameLocation":"7170:4:2","nodeType":"VariableDeclaration","scope":464,"src":"7162:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":430,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7162:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":433,"mutability":"mutable","name":"v","nameLocation":"7190:1:2","nodeType":"VariableDeclaration","scope":464,"src":"7184:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":432,"name":"uint8","nodeType":"ElementaryTypeName","src":"7184:5:2","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":435,"mutability":"mutable","name":"r","nameLocation":"7209:1:2","nodeType":"VariableDeclaration","scope":464,"src":"7201:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7201:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":437,"mutability":"mutable","name":"s","nameLocation":"7228:1:2","nodeType":"VariableDeclaration","scope":464,"src":"7220:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":436,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7220:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7152:83:2"},"returnParameters":{"id":441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":440,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":464,"src":"7259:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":439,"name":"address","nodeType":"ElementaryTypeName","src":"7259:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7258:9:2"},"scope":524,"src":"7136:356:2","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":512,"nodeType":"Block","src":"7697:460:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},"id":476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":473,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":468,"src":"7711:5:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":474,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"7720:12:2","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$174_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7733:7:2","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":170,"src":"7720:20:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"src":"7711:29:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},"id":482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":479,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":468,"src":"7807:5:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":480,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"7816:12:2","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$174_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":481,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7829:16:2","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":171,"src":"7816:29:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"src":"7807:38:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},"id":490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":487,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":468,"src":"7912:5:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":488,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"7921:12:2","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$174_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7934:22:2","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":172,"src":"7921:35:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"src":"7912:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},"id":502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":499,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":468,"src":"8046:5:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":500,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"8055:12:2","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$174_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8068:17:2","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":173,"src":"8055:30:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"src":"8046:39:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":508,"nodeType":"IfStatement","src":"8042:109:2","trueBody":{"id":507,"nodeType":"Block","src":"8087:64:2","statements":[{"errorCall":{"arguments":[{"id":504,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":470,"src":"8131:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":503,"name":"ECDSAInvalidSignatureS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"8108:22:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8108:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":506,"nodeType":"RevertStatement","src":"8101:39:2"}]}},"id":509,"nodeType":"IfStatement","src":"7908:243:2","trueBody":{"id":498,"nodeType":"Block","src":"7958:78:2","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":494,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":470,"src":"8015:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8007:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":492,"name":"uint256","nodeType":"ElementaryTypeName","src":"8007:7:2","typeDescriptions":{}}},"id":495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8007:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":491,"name":"ECDSAInvalidSignatureLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":182,"src":"7979:27:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7979:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":497,"nodeType":"RevertStatement","src":"7972:53:2"}]}},"id":510,"nodeType":"IfStatement","src":"7803:348:2","trueBody":{"id":486,"nodeType":"Block","src":"7847:55:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":483,"name":"ECDSAInvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"7868:21:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7868:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":485,"nodeType":"RevertStatement","src":"7861:30:2"}]}},"id":511,"nodeType":"IfStatement","src":"7707:444:2","trueBody":{"id":478,"nodeType":"Block","src":"7742:55:2","statements":[{"functionReturnParameters":472,"id":477,"nodeType":"Return","src":"7756:7:2"}]}}]},"documentation":{"id":465,"nodeType":"StructuredDocumentation","src":"7498:122:2","text":" @dev Optionally reverts with the corresponding custom error according to the `error` argument provided."},"id":513,"implemented":true,"kind":"function","modifiers":[],"name":"_throwError","nameLocation":"7634:11:2","nodeType":"FunctionDefinition","parameters":{"id":471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":468,"mutability":"mutable","name":"error","nameLocation":"7659:5:2","nodeType":"VariableDeclaration","scope":513,"src":"7646:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":467,"nodeType":"UserDefinedTypeName","pathNode":{"id":466,"name":"RecoverError","nameLocations":["7646:12:2"],"nodeType":"IdentifierPath","referencedDeclaration":174,"src":"7646:12:2"},"referencedDeclaration":174,"src":"7646:12:2","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":470,"mutability":"mutable","name":"errorArg","nameLocation":"7674:8:2","nodeType":"VariableDeclaration","scope":513,"src":"7666:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7666:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7645:38:2"},"returnParameters":{"id":472,"nodeType":"ParameterList","parameters":[],"src":"7697:0:2"},"scope":524,"src":"7625:532:2","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":522,"nodeType":"Block","src":"8939:368:2","statements":[{"AST":{"nodeType":"YulBlock","src":"9001:300:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9022:4:2","type":"","value":"0x00"},{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a3332","kind":"string","nodeType":"YulLiteral","src":"9028:34:2","type":"","value":"\u0019Ethereum Signed Message:\n32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9015:6:2"},"nodeType":"YulFunctionCall","src":"9015:48:2"},"nodeType":"YulExpressionStatement","src":"9015:48:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9124:4:2","type":"","value":"0x1c"},{"name":"messageHash","nodeType":"YulIdentifier","src":"9130:11:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9117:6:2"},"nodeType":"YulFunctionCall","src":"9117:25:2"},"nodeType":"YulExpressionStatement","src":"9117:25:2"},{"nodeType":"YulAssignment","src":"9196:31:2","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9216:4:2","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"9222:4:2","type":"","value":"0x3c"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"9206:9:2"},"nodeType":"YulFunctionCall","src":"9206:21:2"},"variableNames":[{"name":"digest","nodeType":"YulIdentifier","src":"9196:6:2"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":519,"isOffset":false,"isSlot":false,"src":"9196:6:2","valueSize":1},{"declaration":516,"isOffset":false,"isSlot":false,"src":"9130:11:2","valueSize":1}],"id":521,"nodeType":"InlineAssembly","src":"8992:309:2"}]},"documentation":{"id":514,"nodeType":"StructuredDocumentation","src":"8163:665:2","text":" @dev Returns the keccak256 digest of an ERC-191 signed data with version\n `0x45` (`personal_sign` messages).\n The digest is calculated by prefixing a bytes32 `messageHash` with\n `\"\\x19Ethereum Signed Message:\\n32\"` and hashing the result. It corresponds with the\n hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.\n NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with\n keccak256, although any bytes32 value can be safely used because the final digest will\n be re-hashed.\n See {ECDSA-recover}."},"id":523,"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"8842:22:2","nodeType":"FunctionDefinition","parameters":{"id":517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":516,"mutability":"mutable","name":"messageHash","nameLocation":"8882:11:2","nodeType":"VariableDeclaration","scope":523,"src":"8874:19:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8874:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8864:35:2"},"returnParameters":{"id":520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":519,"mutability":"mutable","name":"digest","nameLocation":"8931:6:2","nodeType":"VariableDeclaration","scope":523,"src":"8923:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":518,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8923:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8922:16:2"},"scope":524,"src":"8833:474:2","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":525,"src":"342:8967:2","usedErrors":[177,182,187]}],"src":"111:9199:2"},"id":2},"contracts/testing/bridge/TellorDataBridge.sol":{"ast":{"absolutePath":"contracts/testing/bridge/TellorDataBridge.sol","exportedSymbols":{"ECDSA":[524],"OracleAttestationData":[536],"ReportData":[549],"Signature":[556],"TellorDataBridge":[1125],"Validator":[561]},"id":1126,"license":"Apache-2.0","nodeType":"SourceUnit","nodes":[{"id":526,"literals":["solidity","0.8",".19"],"nodeType":"PragmaDirective","src":"39:23:3"},{"absolutePath":"contracts/testing/bridge/ECDSA.sol","file":"./ECDSA.sol","id":528,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1126,"sourceUnit":525,"src":"64:34:3","symbolAliases":[{"foreign":{"id":527,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":524,"src":"72:5:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"canonicalName":"OracleAttestationData","id":536,"members":[{"constant":false,"id":530,"mutability":"mutable","name":"queryId","nameLocation":"143:7:3","nodeType":"VariableDeclaration","scope":536,"src":"135:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":529,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":533,"mutability":"mutable","name":"report","nameLocation":"167:6:3","nodeType":"VariableDeclaration","scope":536,"src":"156:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$549_storage_ptr","typeString":"struct ReportData"},"typeName":{"id":532,"nodeType":"UserDefinedTypeName","pathNode":{"id":531,"name":"ReportData","nameLocations":["156:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":549,"src":"156:10:3"},"referencedDeclaration":549,"src":"156:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$549_storage_ptr","typeString":"struct ReportData"}},"visibility":"internal"},{"constant":false,"id":535,"mutability":"mutable","name":"attestationTimestamp","nameLocation":"187:20:3","nodeType":"VariableDeclaration","scope":536,"src":"179:28:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":534,"name":"uint256","nodeType":"ElementaryTypeName","src":"179:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OracleAttestationData","nameLocation":"107:21:3","nodeType":"StructDefinition","scope":1126,"src":"100:154:3","visibility":"public"},{"canonicalName":"ReportData","id":549,"members":[{"constant":false,"id":538,"mutability":"mutable","name":"value","nameLocation":"286:5:3","nodeType":"VariableDeclaration","scope":549,"src":"280:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":537,"name":"bytes","nodeType":"ElementaryTypeName","src":"280:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":540,"mutability":"mutable","name":"timestamp","nameLocation":"305:9:3","nodeType":"VariableDeclaration","scope":549,"src":"297:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":539,"name":"uint256","nodeType":"ElementaryTypeName","src":"297:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":542,"mutability":"mutable","name":"aggregatePower","nameLocation":"373:14:3","nodeType":"VariableDeclaration","scope":549,"src":"365:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":541,"name":"uint256","nodeType":"ElementaryTypeName","src":"365:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":544,"mutability":"mutable","name":"previousTimestamp","nameLocation":"401:17:3","nodeType":"VariableDeclaration","scope":549,"src":"393:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":543,"name":"uint256","nodeType":"ElementaryTypeName","src":"393:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":546,"mutability":"mutable","name":"nextTimestamp","nameLocation":"432:13:3","nodeType":"VariableDeclaration","scope":549,"src":"424:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":545,"name":"uint256","nodeType":"ElementaryTypeName","src":"424:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":548,"mutability":"mutable","name":"lastConsensusTimestamp","nameLocation":"459:22:3","nodeType":"VariableDeclaration","scope":549,"src":"451:30:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":547,"name":"uint256","nodeType":"ElementaryTypeName","src":"451:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ReportData","nameLocation":"263:10:3","nodeType":"StructDefinition","scope":1126,"src":"256:228:3","visibility":"public"},{"canonicalName":"Signature","id":556,"members":[{"constant":false,"id":551,"mutability":"mutable","name":"v","nameLocation":"515:1:3","nodeType":"VariableDeclaration","scope":556,"src":"509:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":550,"name":"uint8","nodeType":"ElementaryTypeName","src":"509:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":553,"mutability":"mutable","name":"r","nameLocation":"530:1:3","nodeType":"VariableDeclaration","scope":556,"src":"522:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":552,"name":"bytes32","nodeType":"ElementaryTypeName","src":"522:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":555,"mutability":"mutable","name":"s","nameLocation":"545:1:3","nodeType":"VariableDeclaration","scope":556,"src":"537:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"537:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Signature","nameLocation":"493:9:3","nodeType":"StructDefinition","scope":1126,"src":"486:63:3","visibility":"public"},{"canonicalName":"Validator","id":561,"members":[{"constant":false,"id":558,"mutability":"mutable","name":"addr","nameLocation":"582:4:3","nodeType":"VariableDeclaration","scope":561,"src":"574:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":557,"name":"address","nodeType":"ElementaryTypeName","src":"574:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":560,"mutability":"mutable","name":"power","nameLocation":"600:5:3","nodeType":"VariableDeclaration","scope":561,"src":"592:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":559,"name":"uint256","nodeType":"ElementaryTypeName","src":"592:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Validator","nameLocation":"558:9:3","nodeType":"StructDefinition","scope":1126,"src":"551:57:3","visibility":"public"},{"abstract":false,"baseContracts":[{"baseName":{"id":563,"name":"ECDSA","nameLocations":["978:5:3"],"nodeType":"IdentifierPath","referencedDeclaration":524,"src":"978:5:3"},"id":564,"nodeType":"InheritanceSpecifier","src":"978:5:3"}],"canonicalName":"TellorDataBridge","contractDependencies":[],"contractKind":"contract","documentation":{"id":562,"nodeType":"StructuredDocumentation","src":"611:338:3","text":"@title TellorDataBridge: Tellor Layer -> EVM, Oracle relay.\n @dev The relay relies on a set of signers to attest to some event on\n Tellor Layer. These signers are the validator set, who sign over every\n block. At least 2/3 of the voting power of the current\n view of the validator set must sign off on new relayed events."},"fullyImplemented":true,"id":1125,"linearizedBaseContracts":[1125,524],"name":"TellorDataBridge","nameLocation":"958:16:3","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"452a9320","id":566,"mutability":"mutable","name":"guardian","nameLocation":"1022:8:3","nodeType":"VariableDeclaration","scope":1125,"src":"1007:23:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":565,"name":"address","nodeType":"ElementaryTypeName","src":"1007:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"documentation":{"id":567,"nodeType":"StructuredDocumentation","src":"1032:76:3","text":"Able to reset the validator set only if the validator set becomes stale."},"functionSelector":"af082a7d","id":569,"mutability":"mutable","name":"lastValidatorSetCheckpoint","nameLocation":"1128:26:3","nodeType":"VariableDeclaration","scope":1125,"src":"1113:41:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1113:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":false,"documentation":{"id":570,"nodeType":"StructuredDocumentation","src":"1156:59:3","text":"Domain-separated commitment to the latest validator set."},"functionSelector":"ba95ec27","id":572,"mutability":"mutable","name":"powerThreshold","nameLocation":"1235:14:3","nodeType":"VariableDeclaration","scope":1125,"src":"1220:29:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":571,"name":"uint256","nodeType":"ElementaryTypeName","src":"1220:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"documentation":{"id":573,"nodeType":"StructuredDocumentation","src":"1251:49:3","text":"Voting power required to submit a new update."},"functionSelector":"6cf6d675","id":575,"mutability":"mutable","name":"unbondingPeriod","nameLocation":"1320:15:3","nodeType":"VariableDeclaration","scope":1125,"src":"1305:30:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":574,"name":"uint256","nodeType":"ElementaryTypeName","src":"1305:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"documentation":{"id":576,"nodeType":"StructuredDocumentation","src":"1337:65:3","text":"Time period after which a validator can withdraw their stake."},"functionSelector":"4f76f1ee","id":578,"mutability":"mutable","name":"validatorTimestamp","nameLocation":"1422:18:3","nodeType":"VariableDeclaration","scope":1125,"src":"1407:33:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":577,"name":"uint256","nodeType":"ElementaryTypeName","src":"1407:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"documentation":{"id":579,"nodeType":"StructuredDocumentation","src":"1442:58:3","text":"Timestamp of the block where validator set is updated."},"functionSelector":"d5f39488","id":581,"mutability":"mutable","name":"deployer","nameLocation":"1520:8:3","nodeType":"VariableDeclaration","scope":1125,"src":"1505:23:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":580,"name":"address","nodeType":"ElementaryTypeName","src":"1505:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"documentation":{"id":582,"nodeType":"StructuredDocumentation","src":"1530:39:3","text":"Address that deployed the contract."},"functionSelector":"158ef93e","id":584,"mutability":"mutable","name":"initialized","nameLocation":"1586:11:3","nodeType":"VariableDeclaration","scope":1125,"src":"1574:23:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":583,"name":"bool","nodeType":"ElementaryTypeName","src":"1574:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"constant":true,"documentation":{"id":585,"nodeType":"StructuredDocumentation","src":"1599:40:3","text":"True if the contract is initialized."},"functionSelector":"1a8bcd34","id":588,"mutability":"constant","name":"MS_PER_SECOND","nameLocation":"1668:13:3","nodeType":"VariableDeclaration","scope":1125,"src":"1644:44:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":586,"name":"uint256","nodeType":"ElementaryTypeName","src":"1644:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1684:4:3","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"visibility":"public"},{"constant":true,"functionSelector":"bd7c3153","id":591,"mutability":"constant","name":"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR","nameLocation":"1763:39:3","nodeType":"VariableDeclaration","scope":1125,"src":"1739:170:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1739:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837343635366336633666373234333735373237323635366537343431373437343635373337343631373436393666366530303030303030303030303030303030","id":590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1843:66:3","typeDescriptions":{"typeIdentifier":"t_rational_52647490301217880958921255742851195000291213299261488381361933475469663928320_by_1","typeString":"int_const 5264...(69 digits omitted)...8320"},"value":"0x74656c6c6f7243757272656e744174746573746174696f6e0000000000000000"},"visibility":"public"},{"constant":false,"functionSelector":"9e45a913","id":593,"mutability":"immutable","name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","nameLocation":"2257:35:3","nodeType":"VariableDeclaration","scope":1125,"src":"2232:60:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":592,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2232:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"anonymous":false,"eventSelector":"d7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb09","id":601,"name":"GuardianResetValidatorSet","nameLocation":"2320:25:3","nodeType":"EventDefinition","parameters":{"id":600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":595,"indexed":false,"mutability":"mutable","name":"_powerThreshold","nameLocation":"2354:15:3","nodeType":"VariableDeclaration","scope":601,"src":"2346:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":594,"name":"uint256","nodeType":"ElementaryTypeName","src":"2346:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":597,"indexed":false,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"2379:19:3","nodeType":"VariableDeclaration","scope":601,"src":"2371:27:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":596,"name":"uint256","nodeType":"ElementaryTypeName","src":"2371:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":599,"indexed":false,"mutability":"mutable","name":"_validatorSetHash","nameLocation":"2408:17:3","nodeType":"VariableDeclaration","scope":601,"src":"2400:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2400:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2345:81:3"},"src":"2314:113:3"},{"anonymous":false,"eventSelector":"e304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e","id":609,"name":"ValidatorSetUpdated","nameLocation":"2438:19:3","nodeType":"EventDefinition","parameters":{"id":608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":603,"indexed":false,"mutability":"mutable","name":"_powerThreshold","nameLocation":"2466:15:3","nodeType":"VariableDeclaration","scope":609,"src":"2458:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":602,"name":"uint256","nodeType":"ElementaryTypeName","src":"2458:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":605,"indexed":false,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"2491:19:3","nodeType":"VariableDeclaration","scope":609,"src":"2483:27:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":604,"name":"uint256","nodeType":"ElementaryTypeName","src":"2483:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":607,"indexed":false,"mutability":"mutable","name":"_validatorSetHash","nameLocation":"2520:17:3","nodeType":"VariableDeclaration","scope":609,"src":"2512:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2512:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2457:81:3"},"src":"2432:107:3"},{"errorSelector":"0dc149f0","id":611,"name":"AlreadyInitialized","nameLocation":"2566:18:3","nodeType":"ErrorDefinition","parameters":{"id":610,"nodeType":"ParameterList","parameters":[],"src":"2584:2:3"},"src":"2560:27:3"},{"errorSelector":"cabeb655","id":613,"name":"InsufficientVotingPower","nameLocation":"2598:23:3","nodeType":"ErrorDefinition","parameters":{"id":612,"nodeType":"ParameterList","parameters":[],"src":"2621:2:3"},"src":"2592:32:3"},{"errorSelector":"c3b70c88","id":615,"name":"InvalidPowerThreshold","nameLocation":"2635:21:3","nodeType":"ErrorDefinition","parameters":{"id":614,"nodeType":"ParameterList","parameters":[],"src":"2656:2:3"},"src":"2629:30:3"},{"errorSelector":"8baa579f","id":617,"name":"InvalidSignature","nameLocation":"2670:16:3","nodeType":"ErrorDefinition","parameters":{"id":616,"nodeType":"ParameterList","parameters":[],"src":"2686:2:3"},"src":"2664:25:3"},{"errorSelector":"c6617b7b","id":619,"name":"MalformedCurrentValidatorSet","nameLocation":"2700:28:3","nodeType":"ErrorDefinition","parameters":{"id":618,"nodeType":"ParameterList","parameters":[],"src":"2728:2:3"},"src":"2694:37:3"},{"errorSelector":"8b906c97","id":621,"name":"NotDeployer","nameLocation":"2742:11:3","nodeType":"ErrorDefinition","parameters":{"id":620,"nodeType":"ParameterList","parameters":[],"src":"2753:2:3"},"src":"2736:20:3"},{"errorSelector":"ef6d0f02","id":623,"name":"NotGuardian","nameLocation":"2767:11:3","nodeType":"ErrorDefinition","parameters":{"id":622,"nodeType":"ParameterList","parameters":[],"src":"2778:2:3"},"src":"2761:20:3"},{"errorSelector":"e5e5e464","id":625,"name":"StaleValidatorSet","nameLocation":"2792:17:3","nodeType":"ErrorDefinition","parameters":{"id":624,"nodeType":"ParameterList","parameters":[],"src":"2809:2:3"},"src":"2786:26:3"},{"errorSelector":"177b5d92","id":627,"name":"SuppliedValidatorSetInvalid","nameLocation":"2823:27:3","nodeType":"ErrorDefinition","parameters":{"id":626,"nodeType":"ParameterList","parameters":[],"src":"2850:2:3"},"src":"2817:36:3"},{"errorSelector":"1c36ced2","id":629,"name":"ValidatorSetNotStale","nameLocation":"2864:20:3","nodeType":"ErrorDefinition","parameters":{"id":628,"nodeType":"ParameterList","parameters":[],"src":"2884:2:3"},"src":"2858:29:3"},{"errorSelector":"780635d0","id":631,"name":"ValidatorTimestampMustIncrease","nameLocation":"2898:30:3","nodeType":"ErrorDefinition","parameters":{"id":630,"nodeType":"ParameterList","parameters":[],"src":"2928:2:3"},"src":"2892:39:3"},{"body":{"id":652,"nodeType":"Block","src":"3156:148:3","statements":[{"expression":{"id":641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":639,"name":"guardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":566,"src":"3166:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":640,"name":"_guardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":634,"src":"3177:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3166:20:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":642,"nodeType":"ExpressionStatement","src":"3166:20:3"},{"expression":{"id":646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":643,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":581,"src":"3196:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":644,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3207:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3211:6:3","memberName":"sender","nodeType":"MemberAccess","src":"3207:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3196:21:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":647,"nodeType":"ExpressionStatement","src":"3196:21:3"},{"expression":{"id":650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":648,"name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"3227:35:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":649,"name":"_validatorSetHashDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":636,"src":"3265:32:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3227:70:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":651,"nodeType":"ExpressionStatement","src":"3227:70:3"}]},"documentation":{"id":632,"nodeType":"StructuredDocumentation","src":"2955:101:3","text":"@notice Constructor for the TellorDataBridge contract.\n @param _guardian Guardian address."},"id":653,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":634,"mutability":"mutable","name":"_guardian","nameLocation":"3090:9:3","nodeType":"VariableDeclaration","scope":653,"src":"3082:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":633,"name":"address","nodeType":"ElementaryTypeName","src":"3082:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":636,"mutability":"mutable","name":"_validatorSetHashDomainSeparator","nameLocation":"3117:32:3","nodeType":"VariableDeclaration","scope":653,"src":"3109:40:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":635,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3109:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3072:83:3"},"returnParameters":{"id":638,"nodeType":"ParameterList","parameters":[],"src":"3156:0:3"},"scope":1125,"src":"3061:243:3","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":700,"nodeType":"Block","src":"3930:393:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":665,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3944:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3948:6:3","memberName":"sender","nodeType":"MemberAccess","src":"3944:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":667,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":581,"src":"3958:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3944:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":673,"nodeType":"IfStatement","src":"3940:73:3","trueBody":{"id":672,"nodeType":"Block","src":"3968:45:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":669,"name":"NotDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":621,"src":"3989:11:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3989:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":671,"nodeType":"RevertStatement","src":"3982:20:3"}]}},{"condition":{"id":674,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":584,"src":"4026:11:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":679,"nodeType":"IfStatement","src":"4022:69:3","trueBody":{"id":678,"nodeType":"Block","src":"4039:52:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":675,"name":"AlreadyInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"4060:18:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4060:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":677,"nodeType":"RevertStatement","src":"4053:27:3"}]}},{"expression":{"id":682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":680,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":584,"src":"4100:11:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4114:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4100:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":683,"nodeType":"ExpressionStatement","src":"4100:18:3"},{"expression":{"id":686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":684,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"4128:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":685,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":656,"src":"4145:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4128:32:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":687,"nodeType":"ExpressionStatement","src":"4128:32:3"},{"expression":{"id":690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":688,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":578,"src":"4170:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":689,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"4191:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4170:40:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":691,"nodeType":"ExpressionStatement","src":"4170:40:3"},{"expression":{"id":694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":692,"name":"unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":575,"src":"4220:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":693,"name":"_unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":660,"src":"4238:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4220:34:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":695,"nodeType":"ExpressionStatement","src":"4220:34:3"},{"expression":{"id":698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":696,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":569,"src":"4264:26:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":697,"name":"_validatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":662,"src":"4293:23:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4264:52:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":699,"nodeType":"ExpressionStatement","src":"4264:52:3"}]},"documentation":{"id":654,"nodeType":"StructuredDocumentation","src":"3310:441:3","text":"@notice This function is called only once by the deployer to initialize the contract\n @param _powerThreshold Initial voting power that is needed to approve operations\n @param _validatorTimestamp Timestamp of the block where validator set is updated.\n @param _unbondingPeriod Time period after which a validator can withdraw their stake.\n @param _validatorSetCheckpoint Initial checkpoint of the validator set."},"functionSelector":"4394f6f3","id":701,"implemented":true,"kind":"function","modifiers":[],"name":"init","nameLocation":"3765:4:3","nodeType":"FunctionDefinition","parameters":{"id":663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":656,"mutability":"mutable","name":"_powerThreshold","nameLocation":"3787:15:3","nodeType":"VariableDeclaration","scope":701,"src":"3779:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":655,"name":"uint256","nodeType":"ElementaryTypeName","src":"3779:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":658,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"3820:19:3","nodeType":"VariableDeclaration","scope":701,"src":"3812:27:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":657,"name":"uint256","nodeType":"ElementaryTypeName","src":"3812:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":660,"mutability":"mutable","name":"_unbondingPeriod","nameLocation":"3857:16:3","nodeType":"VariableDeclaration","scope":701,"src":"3849:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":659,"name":"uint256","nodeType":"ElementaryTypeName","src":"3849:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":662,"mutability":"mutable","name":"_validatorSetCheckpoint","nameLocation":"3891:23:3","nodeType":"VariableDeclaration","scope":701,"src":"3883:31:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3883:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3769:151:3"},"returnParameters":{"id":664,"nodeType":"ParameterList","parameters":[],"src":"3930:0:3"},"scope":1125,"src":"3756:567:3","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":760,"nodeType":"Block","src":"4855:607:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":711,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4869:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4873:6:3","memberName":"sender","nodeType":"MemberAccess","src":"4869:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":713,"name":"guardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":566,"src":"4883:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4869:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":719,"nodeType":"IfStatement","src":"4865:73:3","trueBody":{"id":718,"nodeType":"Block","src":"4893:45:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":715,"name":"NotGuardian","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":623,"src":"4914:11:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4914:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":717,"nodeType":"RevertStatement","src":"4907:20:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":720,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4951:5:3","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4957:9:3","memberName":"timestamp","nodeType":"MemberAccess","src":"4951:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":722,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":578,"src":"4970:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":723,"name":"MS_PER_SECOND","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":588,"src":"4991:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4970:34:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":725,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4969:36:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4951:54:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":727,"name":"unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":575,"src":"5008:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4951:72:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":733,"nodeType":"IfStatement","src":"4947:132:3","trueBody":{"id":732,"nodeType":"Block","src":"5025:54:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":729,"name":"ValidatorSetNotStale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":629,"src":"5046:20:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5046:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":731,"nodeType":"RevertStatement","src":"5039:29:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":734,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"5092:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":735,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":578,"src":"5115:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5092:41:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":741,"nodeType":"IfStatement","src":"5088:111:3","trueBody":{"id":740,"nodeType":"Block","src":"5135:64:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":737,"name":"ValidatorTimestampMustIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":631,"src":"5156:30:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5156:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":739,"nodeType":"RevertStatement","src":"5149:39:3"}]}},{"expression":{"id":744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":742,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"5208:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":743,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":704,"src":"5225:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5208:32:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":745,"nodeType":"ExpressionStatement","src":"5208:32:3"},{"expression":{"id":748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":746,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":578,"src":"5250:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":747,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"5271:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5250:40:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":749,"nodeType":"ExpressionStatement","src":"5250:40:3"},{"expression":{"id":752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":750,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":569,"src":"5300:26:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":751,"name":"_validatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":708,"src":"5329:23:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5300:52:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":753,"nodeType":"ExpressionStatement","src":"5300:52:3"},{"eventCall":{"arguments":[{"id":755,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":704,"src":"5393:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":756,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"5410:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":757,"name":"_validatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":708,"src":"5431:23:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":754,"name":"GuardianResetValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"5367:25:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,uint256,bytes32)"}},"id":758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5367:88:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":759,"nodeType":"EmitStatement","src":"5362:93:3"}]},"documentation":{"id":702,"nodeType":"StructuredDocumentation","src":"4329:360:3","text":"@notice This function is called by the guardian to reset the validator set\n only if it becomes stale.\n @param _powerThreshold Amount of voting power needed to approve operations.\n @param _validatorTimestamp The timestamp of the block where validator set is updated.\n @param _validatorSetCheckpoint The hash of the validator set."},"functionSelector":"185bf52b","id":761,"implemented":true,"kind":"function","modifiers":[],"name":"guardianResetValidatorSet","nameLocation":"4703:25:3","nodeType":"FunctionDefinition","parameters":{"id":709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":704,"mutability":"mutable","name":"_powerThreshold","nameLocation":"4746:15:3","nodeType":"VariableDeclaration","scope":761,"src":"4738:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":703,"name":"uint256","nodeType":"ElementaryTypeName","src":"4738:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":706,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"4779:19:3","nodeType":"VariableDeclaration","scope":761,"src":"4771:27:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":705,"name":"uint256","nodeType":"ElementaryTypeName","src":"4771:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":708,"mutability":"mutable","name":"_validatorSetCheckpoint","nameLocation":"4816:23:3","nodeType":"VariableDeclaration","scope":761,"src":"4808:31:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4808:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4728:117:3"},"returnParameters":{"id":710,"nodeType":"ParameterList","parameters":[],"src":"4855:0:3"},"scope":1125,"src":"4694:768:3","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":859,"nodeType":"Block","src":"6210:1430:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":779,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":772,"src":"6224:20:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6245:6:3","memberName":"length","nodeType":"MemberAccess","src":"6224:27:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":781,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":776,"src":"6255:5:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6261:6:3","memberName":"length","nodeType":"MemberAccess","src":"6255:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6224:43:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":788,"nodeType":"IfStatement","src":"6220:111:3","trueBody":{"id":787,"nodeType":"Block","src":"6269:62:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":784,"name":"MalformedCurrentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":619,"src":"6290:28:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6290:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":786,"nodeType":"RevertStatement","src":"6283:37:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":789,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"6344:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":790,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":578,"src":"6369:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6344:43:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":796,"nodeType":"IfStatement","src":"6340:113:3","trueBody":{"id":795,"nodeType":"Block","src":"6389:64:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":792,"name":"ValidatorTimestampMustIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":631,"src":"6410:30:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6410:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":794,"nodeType":"RevertStatement","src":"6403:39:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":797,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":766,"src":"6466:18:3","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6488:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6466:23:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":804,"nodeType":"IfStatement","src":"6462:84:3","trueBody":{"id":803,"nodeType":"Block","src":"6491:55:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":800,"name":"InvalidPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":615,"src":"6512:21:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6512:23:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":802,"nodeType":"RevertStatement","src":"6505:30:3"}]}},{"assignments":[806],"declarations":[{"constant":false,"id":806,"mutability":"mutable","name":"_currentValidatorSetHash","nameLocation":"6650:24:3","nodeType":"VariableDeclaration","scope":859,"src":"6642:32:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6642:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":813,"initialValue":{"arguments":[{"arguments":[{"id":810,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":772,"src":"6698:20:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}],"expression":{"id":808,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6687:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6691:6:3","memberName":"encode","nodeType":"MemberAccess","src":"6687:10:3","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6687:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":807,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6677:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6677:43:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6642:78:3"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":815,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"6796:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":816,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":578,"src":"6828:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":817,"name":"_currentValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":806,"src":"6864:24:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":814,"name":"_domainSeparateValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1073,"src":"6747:31:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,bytes32) view returns (bytes32)"}},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6747:155:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":819,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":569,"src":"6906:26:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6747:185:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":825,"nodeType":"IfStatement","src":"6730:274:3","trueBody":{"id":824,"nodeType":"Block","src":"6943:61:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":821,"name":"SuppliedValidatorSetInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":627,"src":"6964:27:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6964:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":823,"nodeType":"RevertStatement","src":"6957:36:3"}]}},{"assignments":[827],"declarations":[{"constant":false,"id":827,"mutability":"mutable","name":"_newCheckpoint","nameLocation":"7022:14:3","nodeType":"VariableDeclaration","scope":859,"src":"7014:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7014:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":833,"initialValue":{"arguments":[{"id":829,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":766,"src":"7084:18:3","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":830,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"7116:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":831,"name":"_newValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":764,"src":"7152:20:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":828,"name":"_domainSeparateValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1073,"src":"7039:31:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,bytes32) view returns (bytes32)"}},"id":832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7039:143:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7014:168:3"},{"expression":{"arguments":[{"id":835,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":772,"src":"7231:20:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},{"id":836,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":776,"src":"7265:5:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},{"id":837,"name":"_newCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":827,"src":"7284:14:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":838,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"7312:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"},{"typeIdentifier":"t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":834,"name":"_checkValidatorSignatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1050,"src":"7192:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr_$_t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct Validator calldata[] calldata,struct Signature calldata[] calldata,bytes32,uint256) view"}},"id":839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7192:144:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":840,"nodeType":"ExpressionStatement","src":"7192:144:3"},{"expression":{"id":843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":841,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":569,"src":"7346:26:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":842,"name":"_newCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":827,"src":"7375:14:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7346:43:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":844,"nodeType":"ExpressionStatement","src":"7346:43:3"},{"expression":{"id":847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":845,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"7399:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":846,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":766,"src":"7416:18:3","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"7399:35:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":848,"nodeType":"ExpressionStatement","src":"7399:35:3"},{"expression":{"id":851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":849,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":578,"src":"7444:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":850,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"7465:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7444:43:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":852,"nodeType":"ExpressionStatement","src":"7444:43:3"},{"eventCall":{"arguments":[{"id":854,"name":"_newPowerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":766,"src":"7535:18:3","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":855,"name":"_newValidatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"7567:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":856,"name":"_newValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":764,"src":"7603:20:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":853,"name":"ValidatorSetUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"7502:19:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,uint256,bytes32)"}},"id":857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7502:131:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":858,"nodeType":"EmitStatement","src":"7497:136:3"}]},"documentation":{"id":762,"nodeType":"StructuredDocumentation","src":"5468:494:3","text":"@notice This updates the validator set by checking that the validators\n in the current validator set have signed off on the new validator set.\n @param _newValidatorSetHash The hash of the new validator set.\n @param _newPowerThreshold At least this much power must have signed.\n @param _newValidatorTimestamp The timestamp of the block where validator set is updated.\n @param _currentValidatorSet The current validator set.\n @param _sigs Signatures."},"functionSelector":"84330d4c","id":860,"implemented":true,"kind":"function","modifiers":[],"name":"updateValidatorSet","nameLocation":"5976:18:3","nodeType":"FunctionDefinition","parameters":{"id":777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":764,"mutability":"mutable","name":"_newValidatorSetHash","nameLocation":"6012:20:3","nodeType":"VariableDeclaration","scope":860,"src":"6004:28:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6004:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":766,"mutability":"mutable","name":"_newPowerThreshold","nameLocation":"6049:18:3","nodeType":"VariableDeclaration","scope":860,"src":"6042:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":765,"name":"uint64","nodeType":"ElementaryTypeName","src":"6042:6:3","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":768,"mutability":"mutable","name":"_newValidatorTimestamp","nameLocation":"6085:22:3","nodeType":"VariableDeclaration","scope":860,"src":"6077:30:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":767,"name":"uint256","nodeType":"ElementaryTypeName","src":"6077:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":772,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"6138:20:3","nodeType":"VariableDeclaration","scope":860,"src":"6117:41:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":770,"nodeType":"UserDefinedTypeName","pathNode":{"id":769,"name":"Validator","nameLocations":["6117:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":561,"src":"6117:9:3"},"referencedDeclaration":561,"src":"6117:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$561_storage_ptr","typeString":"struct Validator"}},"id":771,"nodeType":"ArrayTypeName","src":"6117:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":776,"mutability":"mutable","name":"_sigs","nameLocation":"6189:5:3","nodeType":"VariableDeclaration","scope":860,"src":"6168:26:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":774,"nodeType":"UserDefinedTypeName","pathNode":{"id":773,"name":"Signature","nameLocations":["6168:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":556,"src":"6168:9:3"},"referencedDeclaration":556,"src":"6168:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$556_storage_ptr","typeString":"struct Signature"}},"id":775,"nodeType":"ArrayTypeName","src":"6168:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"5994:206:3"},"returnParameters":{"id":778,"nodeType":"ParameterList","parameters":[],"src":"6210:0:3"},"scope":1125,"src":"5967:1673:3","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":941,"nodeType":"Block","src":"8093:1298:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":875,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":868,"src":"8107:20:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8128:6:3","memberName":"length","nodeType":"MemberAccess","src":"8107:27:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":877,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":872,"src":"8138:5:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8144:6:3","memberName":"length","nodeType":"MemberAccess","src":"8138:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8107:43:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":884,"nodeType":"IfStatement","src":"8103:111:3","trueBody":{"id":883,"nodeType":"Block","src":"8152:62:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":880,"name":"MalformedCurrentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":619,"src":"8173:28:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8173:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":882,"nodeType":"RevertStatement","src":"8166:37:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":886,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"8376:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":887,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":578,"src":"8408:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"id":891,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":868,"src":"8465:20:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}],"expression":{"id":889,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8454:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8458:6:3","memberName":"encode","nodeType":"MemberAccess","src":"8454:10:3","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8454:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":888,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8444:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8444:43:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":885,"name":"_domainSeparateValidatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1073,"src":"8327:31:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,bytes32) view returns (bytes32)"}},"id":894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8327:174:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":895,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":569,"src":"8505:26:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8327:204:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":901,"nodeType":"IfStatement","src":"8310:293:3","trueBody":{"id":900,"nodeType":"Block","src":"8542:61:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":897,"name":"SuppliedValidatorSetInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":627,"src":"8563:27:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8563:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":899,"nodeType":"RevertStatement","src":"8556:36:3"}]}},{"assignments":[903],"declarations":[{"constant":false,"id":903,"mutability":"mutable","name":"_dataDigest","nameLocation":"8620:11:3","nodeType":"VariableDeclaration","scope":941,"src":"8612:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":902,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8612:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":933,"initialValue":{"arguments":[{"arguments":[{"id":907,"name":"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":591,"src":"8693:39:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":908,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"8754:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$536_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8766:7:3","memberName":"queryId","nodeType":"MemberAccess","referencedDeclaration":530,"src":"8754:19:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"expression":{"id":910,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"8795:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$536_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8807:6:3","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":533,"src":"8795:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$549_calldata_ptr","typeString":"struct ReportData calldata"}},"id":912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8814:5:3","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":538,"src":"8795:24:3","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"expression":{"expression":{"id":913,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"8841:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$536_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8853:6:3","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":533,"src":"8841:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$549_calldata_ptr","typeString":"struct ReportData calldata"}},"id":915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8860:9:3","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":540,"src":"8841:28:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":916,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"8891:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$536_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8903:6:3","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":533,"src":"8891:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$549_calldata_ptr","typeString":"struct ReportData calldata"}},"id":918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8910:14:3","memberName":"aggregatePower","nodeType":"MemberAccess","referencedDeclaration":542,"src":"8891:33:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":919,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"8946:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$536_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8958:6:3","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":533,"src":"8946:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$549_calldata_ptr","typeString":"struct ReportData calldata"}},"id":921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8965:17:3","memberName":"previousTimestamp","nodeType":"MemberAccess","referencedDeclaration":544,"src":"8946:36:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":922,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"9004:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$536_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9016:6:3","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":533,"src":"9004:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$549_calldata_ptr","typeString":"struct ReportData calldata"}},"id":924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9023:13:3","memberName":"nextTimestamp","nodeType":"MemberAccess","referencedDeclaration":546,"src":"9004:32:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":925,"name":"lastValidatorSetCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":569,"src":"9058:26:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":926,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"9106:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$536_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9118:20:3","memberName":"attestationTimestamp","nodeType":"MemberAccess","referencedDeclaration":535,"src":"9106:32:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":928,"name":"_attestData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"9160:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$536_calldata_ptr","typeString":"struct OracleAttestationData calldata"}},"id":929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9172:6:3","memberName":"report","nodeType":"MemberAccess","referencedDeclaration":533,"src":"9160:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReportData_$549_calldata_ptr","typeString":"struct ReportData calldata"}},"id":930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9179:22:3","memberName":"lastConsensusTimestamp","nodeType":"MemberAccess","referencedDeclaration":548,"src":"9160:41:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":905,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8661:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8665:6:3","memberName":"encode","nodeType":"MemberAccess","src":"8661:10:3","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8661:558:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":904,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8634:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8634:599:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8612:621:3"},{"expression":{"arguments":[{"id":935,"name":"_currentValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":868,"src":"9282:20:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},{"id":936,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":872,"src":"9316:5:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},{"id":937,"name":"_dataDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":903,"src":"9335:11:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":938,"name":"powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"9360:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"},{"typeIdentifier":"t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":934,"name":"_checkValidatorSignatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1050,"src":"9243:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr_$_t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct Validator calldata[] calldata,struct Signature calldata[] calldata,bytes32,uint256) view"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9243:141:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":940,"nodeType":"ExpressionStatement","src":"9243:141:3"}]},"documentation":{"id":861,"nodeType":"StructuredDocumentation","src":"7675:229:3","text":"@notice This getter verifies a given piece of data vs Validator signatures\n @param _attestData The data being verified\n @param _currentValidatorSet array of current validator set\n @param _sigs Signatures."},"functionSelector":"5e0d3b0f","id":942,"implemented":true,"kind":"function","modifiers":[],"name":"verifyOracleData","nameLocation":"7918:16:3","nodeType":"FunctionDefinition","parameters":{"id":873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":864,"mutability":"mutable","name":"_attestData","nameLocation":"7975:11:3","nodeType":"VariableDeclaration","scope":942,"src":"7944:42:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$536_calldata_ptr","typeString":"struct OracleAttestationData"},"typeName":{"id":863,"nodeType":"UserDefinedTypeName","pathNode":{"id":862,"name":"OracleAttestationData","nameLocations":["7944:21:3"],"nodeType":"IdentifierPath","referencedDeclaration":536,"src":"7944:21:3"},"referencedDeclaration":536,"src":"7944:21:3","typeDescriptions":{"typeIdentifier":"t_struct$_OracleAttestationData_$536_storage_ptr","typeString":"struct OracleAttestationData"}},"visibility":"internal"},{"constant":false,"id":868,"mutability":"mutable","name":"_currentValidatorSet","nameLocation":"8017:20:3","nodeType":"VariableDeclaration","scope":942,"src":"7996:41:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":866,"nodeType":"UserDefinedTypeName","pathNode":{"id":865,"name":"Validator","nameLocations":["7996:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":561,"src":"7996:9:3"},"referencedDeclaration":561,"src":"7996:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$561_storage_ptr","typeString":"struct Validator"}},"id":867,"nodeType":"ArrayTypeName","src":"7996:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":872,"mutability":"mutable","name":"_sigs","nameLocation":"8068:5:3","nodeType":"VariableDeclaration","scope":942,"src":"8047:26:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":870,"nodeType":"UserDefinedTypeName","pathNode":{"id":869,"name":"Signature","nameLocations":["8047:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":556,"src":"8047:9:3"},"referencedDeclaration":556,"src":"8047:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$556_storage_ptr","typeString":"struct Signature"}},"id":871,"nodeType":"ArrayTypeName","src":"8047:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"}],"src":"7934:145:3"},"returnParameters":{"id":874,"nodeType":"ParameterList","parameters":[],"src":"8093:0:3"},"scope":1125,"src":"7909:1482:3","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1049,"nodeType":"Block","src":"10087:975:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":958,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"10101:5:3","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10107:9:3","memberName":"timestamp","nodeType":"MemberAccess","src":"10101:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":960,"name":"validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":578,"src":"10120:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":961,"name":"MS_PER_SECOND","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":588,"src":"10141:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10120:34:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":963,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10119:36:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10101:54:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":965,"name":"unbondingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":575,"src":"10158:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10101:72:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":971,"nodeType":"IfStatement","src":"10097:129:3","trueBody":{"id":970,"nodeType":"Block","src":"10175:51:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":967,"name":"StaleValidatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":625,"src":"10196:17:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10196:19:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":969,"nodeType":"RevertStatement","src":"10189:26:3"}]}},{"assignments":[973],"declarations":[{"constant":false,"id":973,"mutability":"mutable","name":"_cumulativePower","nameLocation":"10243:16:3","nodeType":"VariableDeclaration","scope":1049,"src":"10235:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":972,"name":"uint256","nodeType":"ElementaryTypeName","src":"10235:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":975,"initialValue":{"hexValue":"30","id":974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10262:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10235:28:3"},{"body":{"id":1039,"nodeType":"Block","src":"10332:618:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":987,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":951,"src":"10425:5:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":989,"indexExpression":{"id":988,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"10431:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10425:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$556_calldata_ptr","typeString":"struct Signature calldata"}},"id":990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10435:1:3","memberName":"r","nodeType":"MemberAccess","referencedDeclaration":553,"src":"10425:11:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10440:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10425:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":993,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":951,"src":"10445:5:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":995,"indexExpression":{"id":994,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"10451:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10445:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$556_calldata_ptr","typeString":"struct Signature calldata"}},"id":996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10455:1:3","memberName":"s","nodeType":"MemberAccess","referencedDeclaration":555,"src":"10445:11:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10460:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10445:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10425:36:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":1005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1000,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":951,"src":"10465:5:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":1002,"indexExpression":{"id":1001,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"10471:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10465:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$556_calldata_ptr","typeString":"struct Signature calldata"}},"id":1003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10475:1:3","memberName":"v","nodeType":"MemberAccess","referencedDeclaration":551,"src":"10465:11:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10480:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10465:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10425:56:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1009,"nodeType":"IfStatement","src":"10421:103:3","trueBody":{"id":1008,"nodeType":"Block","src":"10483:41:3","statements":[{"id":1007,"nodeType":"Continue","src":"10501:8:3"}]}},{"condition":{"id":1020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10617:60:3","subExpression":{"arguments":[{"expression":{"baseExpression":{"id":1011,"name":"_currentValidators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"10629:18:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":1013,"indexExpression":{"id":1012,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"10648:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10629:22:3","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$561_calldata_ptr","typeString":"struct Validator calldata"}},"id":1014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10652:4:3","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":558,"src":"10629:27:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1015,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":953,"src":"10658:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":1016,"name":"_sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":951,"src":"10667:5:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature calldata[] calldata"}},"id":1018,"indexExpression":{"id":1017,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"10673:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10667:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$556_calldata_ptr","typeString":"struct Signature calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_Signature_$556_calldata_ptr","typeString":"struct Signature calldata"}],"id":1010,"name":"_verifySig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1124,"src":"10618:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes32_$_t_struct$_Signature_$556_calldata_ptr_$returns$_t_bool_$","typeString":"function (address,bytes32,struct Signature calldata) pure returns (bool)"}},"id":1019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10618:59:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1025,"nodeType":"IfStatement","src":"10613:124:3","trueBody":{"id":1024,"nodeType":"Block","src":"10679:58:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1021,"name":"InvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"10704:16:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10704:18:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1023,"nodeType":"RevertStatement","src":"10697:25:3"}]}},{"expression":{"id":1031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1026,"name":"_cumulativePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"10750:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":1027,"name":"_currentValidators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"10770:18:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":1029,"indexExpression":{"id":1028,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"10789:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10770:22:3","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$561_calldata_ptr","typeString":"struct Validator calldata"}},"id":1030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10793:5:3","memberName":"power","nodeType":"MemberAccess","referencedDeclaration":560,"src":"10770:28:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10750:48:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1032,"nodeType":"ExpressionStatement","src":"10750:48:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1033,"name":"_cumulativePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"10865:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1034,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"10885:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10865:35:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1038,"nodeType":"IfStatement","src":"10861:79:3","trueBody":{"id":1037,"nodeType":"Block","src":"10902:38:3","statements":[{"id":1036,"nodeType":"Break","src":"10920:5:3"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":980,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"10294:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":981,"name":"_currentValidators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"10299:18:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator calldata[] calldata"}},"id":982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10318:6:3","memberName":"length","nodeType":"MemberAccess","src":"10299:25:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10294:30:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1040,"initializationExpression":{"assignments":[977],"declarations":[{"constant":false,"id":977,"mutability":"mutable","name":"_i","nameLocation":"10286:2:3","nodeType":"VariableDeclaration","scope":1040,"src":"10278:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":976,"name":"uint256","nodeType":"ElementaryTypeName","src":"10278:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":979,"initialValue":{"hexValue":"30","id":978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10291:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10278:14:3"},"loopExpression":{"expression":{"id":985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10326:4:3","subExpression":{"id":984,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"10326:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":986,"nodeType":"ExpressionStatement","src":"10326:4:3"},"nodeType":"ForStatement","src":"10273:677:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1041,"name":"_cumulativePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"10963:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1042,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"10982:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10963:34:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1048,"nodeType":"IfStatement","src":"10959:97:3","trueBody":{"id":1047,"nodeType":"Block","src":"10999:57:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1044,"name":"InsufficientVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"11020:23:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11020:25:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1046,"nodeType":"RevertStatement","src":"11013:32:3"}]}}]},"documentation":{"id":943,"nodeType":"StructuredDocumentation","src":"9424:406:3","text":"@dev Checks that enough voting power signed over a digest.\n It expects the signatures to be in the same order as the _currentValidators.\n @param _currentValidators The current validators.\n @param _sigs The current validators' signatures.\n @param _digest This is what we are checking they have signed.\n @param _powerThreshold At least this much power must have signed."},"id":1050,"implemented":true,"kind":"function","modifiers":[],"name":"_checkValidatorSignatures","nameLocation":"9844:25:3","nodeType":"FunctionDefinition","parameters":{"id":956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":947,"mutability":"mutable","name":"_currentValidators","nameLocation":"9954:18:3","nodeType":"VariableDeclaration","scope":1050,"src":"9933:39:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Validator[]"},"typeName":{"baseType":{"id":945,"nodeType":"UserDefinedTypeName","pathNode":{"id":944,"name":"Validator","nameLocations":["9933:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":561,"src":"9933:9:3"},"referencedDeclaration":561,"src":"9933:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_Validator_$561_storage_ptr","typeString":"struct Validator"}},"id":946,"nodeType":"ArrayTypeName","src":"9933:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Validator_$561_storage_$dyn_storage_ptr","typeString":"struct Validator[]"}},"visibility":"internal"},{"constant":false,"id":951,"mutability":"mutable","name":"_sigs","nameLocation":"10003:5:3","nodeType":"VariableDeclaration","scope":1050,"src":"9982:26:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Signature[]"},"typeName":{"baseType":{"id":949,"nodeType":"UserDefinedTypeName","pathNode":{"id":948,"name":"Signature","nameLocations":["9982:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":556,"src":"9982:9:3"},"referencedDeclaration":556,"src":"9982:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$556_storage_ptr","typeString":"struct Signature"}},"id":950,"nodeType":"ArrayTypeName","src":"9982:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Signature_$556_storage_$dyn_storage_ptr","typeString":"struct Signature[]"}},"visibility":"internal"},{"constant":false,"id":953,"mutability":"mutable","name":"_digest","nameLocation":"10026:7:3","nodeType":"VariableDeclaration","scope":1050,"src":"10018:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10018:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":955,"mutability":"mutable","name":"_powerThreshold","nameLocation":"10051:15:3","nodeType":"VariableDeclaration","scope":1050,"src":"10043:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":954,"name":"uint256","nodeType":"ElementaryTypeName","src":"10043:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9869:203:3"},"returnParameters":{"id":957,"nodeType":"ParameterList","parameters":[],"src":"10087:0:3"},"scope":1125,"src":"9835:1227:3","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1072,"nodeType":"Block","src":"11635:279:3","statements":[{"expression":{"arguments":[{"arguments":[{"id":1065,"name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"11723:35:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1066,"name":"_powerThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1053,"src":"11780:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1067,"name":"_validatorTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1055,"src":"11817:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1068,"name":"_validatorSetHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1057,"src":"11858:17:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1063,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11691:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11695:6:3","memberName":"encode","nodeType":"MemberAccess","src":"11691:10:3","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11691:202:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1062,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"11664:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11664:243:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1061,"id":1071,"nodeType":"Return","src":"11645:262:3"}]},"documentation":{"id":1051,"nodeType":"StructuredDocumentation","src":"11068:378:3","text":"@dev A hash of all relevant information about the validator set.\n @param _powerThreshold Amount of voting power needed to approve operations. (2/3 of total)\n @param _validatorTimestamp The timestamp of the block where validator set is updated.\n @param _validatorSetHash Validator set hash.\n @return The domain separated hash of the validator set."},"id":1073,"implemented":true,"kind":"function","modifiers":[],"name":"_domainSeparateValidatorSetHash","nameLocation":"11460:31:3","nodeType":"FunctionDefinition","parameters":{"id":1058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1053,"mutability":"mutable","name":"_powerThreshold","nameLocation":"11509:15:3","nodeType":"VariableDeclaration","scope":1073,"src":"11501:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1052,"name":"uint256","nodeType":"ElementaryTypeName","src":"11501:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1055,"mutability":"mutable","name":"_validatorTimestamp","nameLocation":"11542:19:3","nodeType":"VariableDeclaration","scope":1073,"src":"11534:27:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1054,"name":"uint256","nodeType":"ElementaryTypeName","src":"11534:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1057,"mutability":"mutable","name":"_validatorSetHash","nameLocation":"11579:17:3","nodeType":"VariableDeclaration","scope":1073,"src":"11571:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11571:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11491:111:3"},"returnParameters":{"id":1061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1060,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1073,"src":"11626:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11626:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11625:9:3"},"scope":1125,"src":"11451:463:3","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1123,"nodeType":"Block","src":"12324:290:3","statements":[{"expression":{"id":1093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1086,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1078,"src":"12334:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":1090,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1078,"src":"12368:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1088,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12351:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12355:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"12351:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12351:25:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1087,"name":"sha256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-22,"src":"12344:6:3","typeDescriptions":{"typeIdentifier":"t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12344:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12334:43:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1094,"nodeType":"ExpressionStatement","src":"12334:43:3"},{"assignments":[1096,1099,null],"declarations":[{"constant":false,"id":1096,"mutability":"mutable","name":"_recovered","nameLocation":"12396:10:3","nodeType":"VariableDeclaration","scope":1123,"src":"12388:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1095,"name":"address","nodeType":"ElementaryTypeName","src":"12388:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1099,"mutability":"mutable","name":"error","nameLocation":"12421:5:3","nodeType":"VariableDeclaration","scope":1123,"src":"12408:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":1098,"nodeType":"UserDefinedTypeName","pathNode":{"id":1097,"name":"RecoverError","nameLocations":["12408:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":174,"src":"12408:12:3"},"referencedDeclaration":174,"src":"12408:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},null],"id":1109,"initialValue":{"arguments":[{"id":1101,"name":"_digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1078,"src":"12443:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1102,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"12452:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$556_calldata_ptr","typeString":"struct Signature calldata"}},"id":1103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12457:1:3","memberName":"v","nodeType":"MemberAccess","referencedDeclaration":551,"src":"12452:6:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"expression":{"id":1104,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"12460:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$556_calldata_ptr","typeString":"struct Signature calldata"}},"id":1105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12465:1:3","memberName":"r","nodeType":"MemberAccess","referencedDeclaration":553,"src":"12460:6:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1106,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"12468:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$556_calldata_ptr","typeString":"struct Signature calldata"}},"id":1107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12473:1:3","memberName":"s","nodeType":"MemberAccess","referencedDeclaration":555,"src":"12468:6:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1100,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[240,320,428],"referencedDeclaration":428,"src":"12432:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":1108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12432:43:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$174_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"12387:88:3"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1110,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1099,"src":"12489:5:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1111,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"12498:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$174_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":1112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12511:7:3","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":170,"src":"12498:20:3","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$174","typeString":"enum ECDSA.RecoverError"}},"src":"12489:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1118,"nodeType":"IfStatement","src":"12485:85:3","trueBody":{"id":1117,"nodeType":"Block","src":"12520:50:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1114,"name":"InvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"12541:16:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12541:18:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1116,"nodeType":"RevertStatement","src":"12534:25:3"}]}},{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1119,"name":"_signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1076,"src":"12586:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1120,"name":"_recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1096,"src":"12597:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12586:21:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1085,"id":1122,"nodeType":"Return","src":"12579:28:3"}]},"documentation":{"id":1074,"nodeType":"StructuredDocumentation","src":"11920:261:3","text":"@notice Utility function to verify Tellor Layer signatures\n @param _signer The address that signed the message.\n @param _digest The digest that was signed.\n @param _sig The signature.\n @return bool True if the signature is valid."},"id":1124,"implemented":true,"kind":"function","modifiers":[],"name":"_verifySig","nameLocation":"12195:10:3","nodeType":"FunctionDefinition","parameters":{"id":1082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1076,"mutability":"mutable","name":"_signer","nameLocation":"12223:7:3","nodeType":"VariableDeclaration","scope":1124,"src":"12215:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1075,"name":"address","nodeType":"ElementaryTypeName","src":"12215:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1078,"mutability":"mutable","name":"_digest","nameLocation":"12248:7:3","nodeType":"VariableDeclaration","scope":1124,"src":"12240:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12240:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1081,"mutability":"mutable","name":"_sig","nameLocation":"12284:4:3","nodeType":"VariableDeclaration","scope":1124,"src":"12265:23:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$556_calldata_ptr","typeString":"struct Signature"},"typeName":{"id":1080,"nodeType":"UserDefinedTypeName","pathNode":{"id":1079,"name":"Signature","nameLocations":["12265:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":556,"src":"12265:9:3"},"referencedDeclaration":556,"src":"12265:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_Signature_$556_storage_ptr","typeString":"struct Signature"}},"visibility":"internal"}],"src":"12205:89:3"},"returnParameters":{"id":1085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1084,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1124,"src":"12318:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1083,"name":"bool","nodeType":"ElementaryTypeName","src":"12318:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12317:6:3"},"scope":1125,"src":"12186:428:3","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":1126,"src":"949:11667:3","usedErrors":[177,182,187,611,613,615,617,619,621,623,625,627,629,631]}],"src":"39:12578:3"},"id":3}},"contracts":{"contracts/YoloTellorUser.sol":{"YoloTellorUser":{"abi":[{"inputs":[{"internalType":"address","name":"_dataBridge","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"dataBridge","outputs":[{"internalType":"contract ITellorDataBridge","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentOracleData","outputs":[{"components":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct YoloTellorUser.OracleData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getValueCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"oracleData","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"updateOracleData","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_26":{"entryPoint":null,"id":26,"parameterSlots":1,"returnSlots":0},"abi_decode_t_address_fromMemory":{"entryPoint":198,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":219,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":157,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":125,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":120,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_address":{"entryPoint":175,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1199:4","statements":[{"body":{"nodeType":"YulBlock","src":"47:35:4","statements":[{"nodeType":"YulAssignment","src":"57:19:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"73:2:4","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"67:5:4"},"nodeType":"YulFunctionCall","src":"67:9:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"57:6:4"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"40:6:4","type":""}],"src":"7:75:4"},{"body":{"nodeType":"YulBlock","src":"177:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"194:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"197:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"187:6:4"},"nodeType":"YulFunctionCall","src":"187:12:4"},"nodeType":"YulExpressionStatement","src":"187:12:4"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"88:117:4"},{"body":{"nodeType":"YulBlock","src":"300:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:4"},"nodeType":"YulFunctionCall","src":"310:12:4"},"nodeType":"YulExpressionStatement","src":"310:12:4"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"211:117:4"},{"body":{"nodeType":"YulBlock","src":"379:81:4","statements":[{"nodeType":"YulAssignment","src":"389:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"404:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"411:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"400:3:4"},"nodeType":"YulFunctionCall","src":"400:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"389:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"361:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"371:7:4","type":""}],"src":"334:126:4"},{"body":{"nodeType":"YulBlock","src":"511:51:4","statements":[{"nodeType":"YulAssignment","src":"521:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"550:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"532:17:4"},"nodeType":"YulFunctionCall","src":"532:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"521:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"493:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"503:7:4","type":""}],"src":"466:96:4"},{"body":{"nodeType":"YulBlock","src":"611:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"668:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"677:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"680:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"670:6:4"},"nodeType":"YulFunctionCall","src":"670:12:4"},"nodeType":"YulExpressionStatement","src":"670:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"634:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"659:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"641:17:4"},"nodeType":"YulFunctionCall","src":"641:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"631:2:4"},"nodeType":"YulFunctionCall","src":"631:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"624:6:4"},"nodeType":"YulFunctionCall","src":"624:43:4"},"nodeType":"YulIf","src":"621:63:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"604:5:4","type":""}],"src":"568:122:4"},{"body":{"nodeType":"YulBlock","src":"759:80:4","statements":[{"nodeType":"YulAssignment","src":"769:22:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"784:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"778:5:4"},"nodeType":"YulFunctionCall","src":"778:13:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"769:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"827:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"800:26:4"},"nodeType":"YulFunctionCall","src":"800:33:4"},"nodeType":"YulExpressionStatement","src":"800:33:4"}]},"name":"abi_decode_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"737:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"745:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"753:5:4","type":""}],"src":"696:143:4"},{"body":{"nodeType":"YulBlock","src":"922:274:4","statements":[{"body":{"nodeType":"YulBlock","src":"968:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"970:77:4"},"nodeType":"YulFunctionCall","src":"970:79:4"},"nodeType":"YulExpressionStatement","src":"970:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"943:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"952:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"939:3:4"},"nodeType":"YulFunctionCall","src":"939:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"964:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"935:3:4"},"nodeType":"YulFunctionCall","src":"935:32:4"},"nodeType":"YulIf","src":"932:119:4"},{"nodeType":"YulBlock","src":"1061:128:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1076:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1090:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1080:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1105:74:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1151:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1162:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1147:3:4"},"nodeType":"YulFunctionCall","src":"1147:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1171:7:4"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"1115:31:4"},"nodeType":"YulFunctionCall","src":"1115:64:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1105:6:4"}]}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"892:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"903:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"915:6:4","type":""}],"src":"845:351:4"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"608060405234801561001057600080fd5b50604051610e57380380610e57833981810160405281019061003291906100db565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610108565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100a88261007d565b9050919050565b6100b88161009d565b81146100c357600080fd5b50565b6000815190506100d5816100af565b92915050565b6000602082840312156100f1576100f0610078565b5b60006100ff848285016100c6565b91505092915050565b610d40806101176000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063413a89b41461005c578063578855b21461007a5780636180801014610098578063aa4dea00146100b4578063bffe07bf146100e5575b600080fd5b610064610103565b604051610071919061032a565b60405180910390f35b610082610110565b60405161008f91906103c4565b60405180910390f35b6100b260048036038101906100ad91906104c8565b610134565b005b6100ce60048036038101906100c991906105a5565b610266565b6040516100dc9291906105d2565b60405180910390f35b6100ed61029a565b6040516100fa9190610639565b60405180910390f35b6000600180549050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635e0d3b0f86868686866040518663ffffffff1660e01b8152600401610195959493929190610b8e565b60006040518083038186803b1580156101ad57600080fd5b505afa1580156101c1573d6000803e3d6000fd5b5050505060008580602001906101d79190610bed565b80600001906101e69190610c15565b8101906101f391906105a5565b9050600160405180604001604052808381526020018880602001906102189190610bed565b60200135815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050505050505050565b6001818154811061027657600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b6102a26102f7565b60018080805490506102b49190610ca7565b815481106102c5576102c4610cdb565b5b906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050905090565b604051806040016040528060008152602001600081525090565b6000819050919050565b61032481610311565b82525050565b600060208201905061033f600083018461031b565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061038a61038561038084610345565b610365565b610345565b9050919050565b600061039c8261036f565b9050919050565b60006103ae82610391565b9050919050565b6103be816103a3565b82525050565b60006020820190506103d960008301846103b5565b92915050565b600080fd5b600080fd5b600080fd5b600060608284031215610404576104036103e9565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126104325761043161040d565b5b8235905067ffffffffffffffff81111561044f5761044e610412565b5b60208301915083604082028301111561046b5761046a610417565b5b9250929050565b60008083601f8401126104885761048761040d565b5b8235905067ffffffffffffffff8111156104a5576104a4610412565b5b6020830191508360608202830111156104c1576104c0610417565b5b9250929050565b6000806000806000606086880312156104e4576104e36103df565b5b600086013567ffffffffffffffff811115610502576105016103e4565b5b61050e888289016103ee565b955050602086013567ffffffffffffffff81111561052f5761052e6103e4565b5b61053b8882890161041c565b9450945050604086013567ffffffffffffffff81111561055e5761055d6103e4565b5b61056a88828901610472565b92509250509295509295909350565b61058281610311565b811461058d57600080fd5b50565b60008135905061059f81610579565b92915050565b6000602082840312156105bb576105ba6103df565b5b60006105c984828501610590565b91505092915050565b60006040820190506105e7600083018561031b565b6105f4602083018461031b565b9392505050565b61060481610311565b82525050565b60408201600082015161062060008501826105fb565b50602082015161063360208501826105fb565b50505050565b600060408201905061064e600083018461060a565b92915050565b6000819050919050565b61066781610654565b811461067257600080fd5b50565b6000813590506106848161065e565b92915050565b60006106996020840184610675565b905092915050565b6106aa81610654565b82525050565b600080fd5b60008235600160c0038336030381126106d1576106d06106b0565b5b82810191505092915050565b600080fd5b600080fd5b60008083356001602003843603038112610704576107036106b0565b5b83810192508235915060208301925067ffffffffffffffff82111561072c5761072b6106dd565b5b600182023603831315610742576107416106e2565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000610787838561074a565b935061079483858461075b565b61079d8361076a565b840190509392505050565b60006107b76020840184610590565b905092915050565b600060c083016107d260008401846106e7565b85830360008701526107e583828461077b565b925050506107f660208401846107a8565b61080360208601826105fb565b5061081160408401846107a8565b61081e60408601826105fb565b5061082c60608401846107a8565b61083960608601826105fb565b5061084760808401846107a8565b61085460808601826105fb565b5061086260a08401846107a8565b61086f60a08601826105fb565b508091505092915050565b60006060830161088d600084018461068a565b61089a60008601826106a1565b506108a860208401846106b5565b84820360208601526108ba82826107bf565b9150506108ca60408401846107a8565b6108d760408601826105fb565b508091505092915050565b600082825260208201905092915050565b6000819050919050565b600061090882610345565b9050919050565b610918816108fd565b811461092357600080fd5b50565b6000813590506109358161090f565b92915050565b600061094a6020840184610926565b905092915050565b61095b816108fd565b82525050565b60408201610972600083018361093b565b61097f6000850182610952565b5061098d60208301836107a8565b61099a60208501826105fb565b50505050565b60006109ac8383610961565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006109dc83856108e2565b93506109e7826108f3565b8060005b85811015610a20576109fd82846109b8565b610a0788826109a0565b9750610a12836109c3565b9250506001810190506109eb565b5085925050509392505050565b600082825260208201905092915050565b6000819050919050565b600060ff82169050919050565b610a5e81610a48565b8114610a6957600080fd5b50565b600081359050610a7b81610a55565b92915050565b6000610a906020840184610a6c565b905092915050565b610aa181610a48565b82525050565b60608201610ab86000830183610a81565b610ac56000850182610a98565b50610ad3602083018361068a565b610ae060208501826106a1565b50610aee604083018361068a565b610afb60408501826106a1565b50505050565b6000610b0d8383610aa7565b60608301905092915050565b600082905092915050565b6000606082019050919050565b6000610b3d8385610a2d565b9350610b4882610a3e565b8060005b85811015610b8157610b5e8284610b19565b610b688882610b01565b9750610b7383610b24565b925050600181019050610b4c565b5085925050509392505050565b60006060820190508181036000830152610ba8818861087a565b90508181036020830152610bbd8186886109d0565b90508181036040830152610bd2818486610b31565b90509695505050505050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112610c0957610c08610bde565b5b80830191505092915050565b60008083356001602003843603038112610c3257610c31610bde565b5b80840192508235915067ffffffffffffffff821115610c5457610c53610be3565b5b602083019250600182023603831315610c7057610c6f610be8565b5b509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610cb282610311565b9150610cbd83610311565b9250828203905081811115610cd557610cd4610c78565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220174690d1e38629ed07a1b806259cb4e0a0ec3625491143806f80de1564fa8e6464736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0xE57 CODESIZE SUB DUP1 PUSH2 0xE57 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0xDB JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP PUSH2 0x108 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA8 DUP3 PUSH2 0x7D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB8 DUP2 PUSH2 0x9D JUMP JUMPDEST DUP2 EQ PUSH2 0xC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xD5 DUP2 PUSH2 0xAF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF1 JUMPI PUSH2 0xF0 PUSH2 0x78 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFF DUP5 DUP3 DUP6 ADD PUSH2 0xC6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xD40 DUP1 PUSH2 0x117 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 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x413A89B4 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x578855B2 EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x61808010 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0xAA4DEA00 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xBFFE07BF EQ PUSH2 0xE5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x103 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x32A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH2 0x110 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x3C4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x134 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC9 SWAP2 SWAP1 PUSH2 0x5A5 JUMP JUMPDEST PUSH2 0x266 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDC SWAP3 SWAP2 SWAP1 PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xED PUSH2 0x29A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFA SWAP2 SWAP1 PUSH2 0x639 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5E0D3B0F DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x195 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB8E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1C1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x0 DUP6 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1D7 SWAP2 SWAP1 PUSH2 0xBED JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x1E6 SWAP2 SWAP1 PUSH2 0xC15 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0x5A5 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP9 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x218 SWAP2 SWAP1 PUSH2 0xBED JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH2 0x2A2 PUSH2 0x2F7 JUMP JUMPDEST PUSH1 0x1 DUP1 DUP1 DUP1 SLOAD SWAP1 POP PUSH2 0x2B4 SWAP2 SWAP1 PUSH2 0xCA7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2C5 JUMPI PUSH2 0x2C4 PUSH2 0xCDB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x324 DUP2 PUSH2 0x311 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x33F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x31B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38A PUSH2 0x385 PUSH2 0x380 DUP5 PUSH2 0x345 JUMP JUMPDEST PUSH2 0x365 JUMP JUMPDEST PUSH2 0x345 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39C DUP3 PUSH2 0x36F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3AE DUP3 PUSH2 0x391 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3BE DUP2 PUSH2 0x3A3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3D9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3B5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x404 JUMPI PUSH2 0x403 PUSH2 0x3E9 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x432 JUMPI PUSH2 0x431 PUSH2 0x40D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x44F JUMPI PUSH2 0x44E PUSH2 0x412 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x46B JUMPI PUSH2 0x46A PUSH2 0x417 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x488 JUMPI PUSH2 0x487 PUSH2 0x40D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4A5 JUMPI PUSH2 0x4A4 PUSH2 0x412 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x4C1 JUMPI PUSH2 0x4C0 PUSH2 0x417 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4E4 JUMPI PUSH2 0x4E3 PUSH2 0x3DF JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x502 JUMPI PUSH2 0x501 PUSH2 0x3E4 JUMP JUMPDEST JUMPDEST PUSH2 0x50E DUP9 DUP3 DUP10 ADD PUSH2 0x3EE JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x52F JUMPI PUSH2 0x52E PUSH2 0x3E4 JUMP JUMPDEST JUMPDEST PUSH2 0x53B DUP9 DUP3 DUP10 ADD PUSH2 0x41C JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x55E JUMPI PUSH2 0x55D PUSH2 0x3E4 JUMP JUMPDEST JUMPDEST PUSH2 0x56A DUP9 DUP3 DUP10 ADD PUSH2 0x472 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x582 DUP2 PUSH2 0x311 JUMP JUMPDEST DUP2 EQ PUSH2 0x58D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x59F DUP2 PUSH2 0x579 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5BB JUMPI PUSH2 0x5BA PUSH2 0x3DF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5C9 DUP5 DUP3 DUP6 ADD PUSH2 0x590 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x5E7 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x31B JUMP JUMPDEST PUSH2 0x5F4 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x31B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x604 DUP2 PUSH2 0x311 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x620 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x633 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x64E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x60A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x667 DUP2 PUSH2 0x654 JUMP JUMPDEST DUP2 EQ PUSH2 0x672 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x684 DUP2 PUSH2 0x65E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x699 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x675 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x6AA DUP2 PUSH2 0x654 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x6D1 JUMPI PUSH2 0x6D0 PUSH2 0x6B0 JUMP JUMPDEST JUMPDEST DUP3 DUP2 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x704 JUMPI PUSH2 0x703 PUSH2 0x6B0 JUMP JUMPDEST JUMPDEST DUP4 DUP2 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x72C JUMPI PUSH2 0x72B PUSH2 0x6DD JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x742 JUMPI PUSH2 0x741 PUSH2 0x6E2 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x787 DUP4 DUP6 PUSH2 0x74A JUMP JUMPDEST SWAP4 POP PUSH2 0x794 DUP4 DUP6 DUP5 PUSH2 0x75B JUMP JUMPDEST PUSH2 0x79D DUP4 PUSH2 0x76A JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7B7 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x590 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH2 0x7D2 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x6E7 JUMP JUMPDEST DUP6 DUP4 SUB PUSH1 0x0 DUP8 ADD MSTORE PUSH2 0x7E5 DUP4 DUP3 DUP5 PUSH2 0x77B JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x7F6 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x803 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x811 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x81E PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x82C PUSH1 0x60 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x839 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x847 PUSH1 0x80 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x854 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x862 PUSH1 0xA0 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x86F PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH2 0x88D PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x68A JUMP JUMPDEST PUSH2 0x89A PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x6A1 JUMP JUMPDEST POP PUSH2 0x8A8 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x6B5 JUMP JUMPDEST DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x8BA DUP3 DUP3 PUSH2 0x7BF JUMP JUMPDEST SWAP2 POP POP PUSH2 0x8CA PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x8D7 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x908 DUP3 PUSH2 0x345 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x918 DUP2 PUSH2 0x8FD JUMP JUMPDEST DUP2 EQ PUSH2 0x923 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x935 DUP2 PUSH2 0x90F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x94A PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x926 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x95B DUP2 PUSH2 0x8FD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0x972 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x93B JUMP JUMPDEST PUSH2 0x97F PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x952 JUMP JUMPDEST POP PUSH2 0x98D PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x99A PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9AC DUP4 DUP4 PUSH2 0x961 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9DC DUP4 DUP6 PUSH2 0x8E2 JUMP JUMPDEST SWAP4 POP PUSH2 0x9E7 DUP3 PUSH2 0x8F3 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xA20 JUMPI PUSH2 0x9FD DUP3 DUP5 PUSH2 0x9B8 JUMP JUMPDEST PUSH2 0xA07 DUP9 DUP3 PUSH2 0x9A0 JUMP JUMPDEST SWAP8 POP PUSH2 0xA12 DUP4 PUSH2 0x9C3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x9EB JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA5E DUP2 PUSH2 0xA48 JUMP JUMPDEST DUP2 EQ PUSH2 0xA69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA7B DUP2 PUSH2 0xA55 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA90 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xA6C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAA1 DUP2 PUSH2 0xA48 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 ADD PUSH2 0xAB8 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0xA81 JUMP JUMPDEST PUSH2 0xAC5 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0xA98 JUMP JUMPDEST POP PUSH2 0xAD3 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x68A JUMP JUMPDEST PUSH2 0xAE0 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x6A1 JUMP JUMPDEST POP PUSH2 0xAEE PUSH1 0x40 DUP4 ADD DUP4 PUSH2 0x68A JUMP JUMPDEST PUSH2 0xAFB PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x6A1 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0D DUP4 DUP4 PUSH2 0xAA7 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB3D DUP4 DUP6 PUSH2 0xA2D JUMP JUMPDEST SWAP4 POP PUSH2 0xB48 DUP3 PUSH2 0xA3E JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xB81 JUMPI PUSH2 0xB5E DUP3 DUP5 PUSH2 0xB19 JUMP JUMPDEST PUSH2 0xB68 DUP9 DUP3 PUSH2 0xB01 JUMP JUMPDEST SWAP8 POP PUSH2 0xB73 DUP4 PUSH2 0xB24 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xB4C JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xBA8 DUP2 DUP9 PUSH2 0x87A JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xBBD DUP2 DUP7 DUP9 PUSH2 0x9D0 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xBD2 DUP2 DUP5 DUP7 PUSH2 0xB31 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xC09 JUMPI PUSH2 0xC08 PUSH2 0xBDE JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xC32 JUMPI PUSH2 0xC31 PUSH2 0xBDE JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xC54 JUMPI PUSH2 0xC53 PUSH2 0xBE3 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xC70 JUMPI PUSH2 0xC6F PUSH2 0xBE8 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xCB2 DUP3 PUSH2 0x311 JUMP JUMPDEST SWAP2 POP PUSH2 0xCBD DUP4 PUSH2 0x311 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xCD5 JUMPI PUSH2 0xCD4 PUSH2 0xC78 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR CHAINID SWAP1 0xD1 0xE3 DUP7 0x29 0xED SMOD LOG1 0xB8 MOD 0x25 SWAP13 0xB4 0xE0 LOG0 0xEC CALLDATASIZE 0x25 0x49 GT NUMBER DUP1 PUSH16 0x80DE1564FA8E6464736F6C6343000813 STOP CALLER ","sourceMap":"103:1029:0:-:0;;;340:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;414:11;383:10;;:43;;;;;;;;;;;;;;;;;;340:93;103:1029;;88:117:4;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:351::-;915:6;964:2;952:9;943:7;939:23;935:32;932:119;;;970:79;;:::i;:::-;932:119;1090:1;1115:64;1171:7;1162:6;1151:9;1147:22;1115:64;:::i;:::-;1105:74;;1061:128;845:351;;;;:::o;103:1029:0:-;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@dataBridge_5":{"entryPoint":272,"id":5,"parameterSlots":0,"returnSlots":0},"@getCurrentOracleData_86":{"entryPoint":666,"id":86,"parameterSlots":0,"returnSlots":1},"@getValueCount_95":{"entryPoint":259,"id":95,"parameterSlots":0,"returnSlots":1},"@oracleData_9":{"entryPoint":614,"id":9,"parameterSlots":0,"returnSlots":0},"@updateOracleData_72":{"entryPoint":308,"id":72,"parameterSlots":5,"returnSlots":0},"abi_decode_t_address":{"entryPoint":2342,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":1138,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":1052,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes32":{"entryPoint":1653,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_OracleAttestationData_$106_calldata_ptr":{"entryPoint":1006,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":1424,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8":{"entryPoint":2668,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_OracleAttestationData_$106_calldata_ptrt_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":1224,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256":{"entryPoint":1445,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr":{"entryPoint":2817,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr":{"entryPoint":2464,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address":{"entryPoint":2386,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2865,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2512,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bytes32_to_t_bytes32":{"entryPoint":1697,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr":{"entryPoint":1915,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_contract$_ITellorDataBridge_$166_to_t_address_fromStack":{"entryPoint":949,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_struct$_OracleAttestationData_$106_calldata_ptr_to_t_struct$_OracleAttestationData_$106_memory_ptr_fromStack":{"entryPoint":2170,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_OracleData_$14_memory_ptr_to_t_struct$_OracleData_$14_memory_ptr_fromStack":{"entryPoint":1546,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_struct$_ReportData_$119_calldata_ptr_to_t_struct$_ReportData_$119_memory_ptr":{"entryPoint":1983,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr":{"entryPoint":2727,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr":{"entryPoint":2401,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":1531,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":795,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8":{"entryPoint":2712,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_contract$_ITellorDataBridge_$166__to_t_address__fromStack_reversed":{"entryPoint":964,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_OracleAttestationData_$106_calldata_ptr_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr__to_t_struct$_OracleAttestationData_$106_memory_ptr_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":2958,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_struct$_OracleData_$14_memory_ptr__to_t_struct$_OracleData_$14_memory_ptr__fromStack_reversed":{"entryPoint":1593,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":810,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":1490,"id":null,"parameterSlots":3,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":3093,"id":null,"parameterSlots":2,"returnSlots":2},"access_calldata_tail_t_struct$_ReportData_$119_calldata_ptr":{"entryPoint":3053,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2622,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2291,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2852,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":2499,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2605,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":2274,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr":{"entryPoint":1866,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_address":{"entryPoint":2363,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_bytes32":{"entryPoint":1674,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_bytes_calldata_ptr":{"entryPoint":1767,"id":null,"parameterSlots":2,"returnSlots":2},"calldata_access_t_struct$_ReportData_$119_calldata_ptr":{"entryPoint":1717,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_struct$_Signature_$126_calldata_ptr":{"entryPoint":2841,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_struct$_Validator_$131_calldata_ptr":{"entryPoint":2488,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint256":{"entryPoint":1960,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint8":{"entryPoint":2689,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":3239,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":2301,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":1620,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":837,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":785,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":2632,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_contract$_ITellorDataBridge_$166_to_t_address":{"entryPoint":931,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_address":{"entryPoint":913,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint160_to_t_uint160":{"entryPoint":879,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":1883,"id":null,"parameterSlots":3,"returnSlots":0},"identity":{"entryPoint":869,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":3192,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":3291,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2":{"entryPoint":1757,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":1042,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":1037,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a":{"entryPoint":3043,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d":{"entryPoint":1001,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad":{"entryPoint":3038,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20":{"entryPoint":1762,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":1047,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e":{"entryPoint":3048,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":996,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4":{"entryPoint":1712,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":991,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":1898,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_address":{"entryPoint":2319,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":1630,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":1401,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":2645,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:22580:4","statements":[{"body":{"nodeType":"YulBlock","src":"52:32:4","statements":[{"nodeType":"YulAssignment","src":"62:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"73:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"62:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"34:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"44:7:4","type":""}],"src":"7:77:4"},{"body":{"nodeType":"YulBlock","src":"155:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"172:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"195:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"177:17:4"},"nodeType":"YulFunctionCall","src":"177:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"165:6:4"},"nodeType":"YulFunctionCall","src":"165:37:4"},"nodeType":"YulExpressionStatement","src":"165:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"143:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"150:3:4","type":""}],"src":"90:118:4"},{"body":{"nodeType":"YulBlock","src":"312:124:4","statements":[{"nodeType":"YulAssignment","src":"322:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"334:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"345:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"330:3:4"},"nodeType":"YulFunctionCall","src":"330:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"322:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"402:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"415:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"426:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"411:3:4"},"nodeType":"YulFunctionCall","src":"411:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"358:43:4"},"nodeType":"YulFunctionCall","src":"358:71:4"},"nodeType":"YulExpressionStatement","src":"358:71:4"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"284:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"296:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"307:4:4","type":""}],"src":"214:222:4"},{"body":{"nodeType":"YulBlock","src":"487:81:4","statements":[{"nodeType":"YulAssignment","src":"497:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"512:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"519:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"508:3:4"},"nodeType":"YulFunctionCall","src":"508:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"497:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"469:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"479:7:4","type":""}],"src":"442:126:4"},{"body":{"nodeType":"YulBlock","src":"606:28:4","statements":[{"nodeType":"YulAssignment","src":"616:12:4","value":{"name":"value","nodeType":"YulIdentifier","src":"623:5:4"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"616:3:4"}]}]},"name":"identity","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"592:5:4","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"602:3:4","type":""}],"src":"574:60:4"},{"body":{"nodeType":"YulBlock","src":"700:82:4","statements":[{"nodeType":"YulAssignment","src":"710:66:4","value":{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"768:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"750:17:4"},"nodeType":"YulFunctionCall","src":"750:24:4"}],"functionName":{"name":"identity","nodeType":"YulIdentifier","src":"741:8:4"},"nodeType":"YulFunctionCall","src":"741:34:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"723:17:4"},"nodeType":"YulFunctionCall","src":"723:53:4"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"710:9:4"}]}]},"name":"convert_t_uint160_to_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"680:5:4","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"690:9:4","type":""}],"src":"640:142:4"},{"body":{"nodeType":"YulBlock","src":"848:66:4","statements":[{"nodeType":"YulAssignment","src":"858:50:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"902:5:4"}],"functionName":{"name":"convert_t_uint160_to_t_uint160","nodeType":"YulIdentifier","src":"871:30:4"},"nodeType":"YulFunctionCall","src":"871:37:4"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"858:9:4"}]}]},"name":"convert_t_uint160_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"828:5:4","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"838:9:4","type":""}],"src":"788:126:4"},{"body":{"nodeType":"YulBlock","src":"1005:66:4","statements":[{"nodeType":"YulAssignment","src":"1015:50:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1059:5:4"}],"functionName":{"name":"convert_t_uint160_to_t_address","nodeType":"YulIdentifier","src":"1028:30:4"},"nodeType":"YulFunctionCall","src":"1028:37:4"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"1015:9:4"}]}]},"name":"convert_t_contract$_ITellorDataBridge_$166_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"985:5:4","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"995:9:4","type":""}],"src":"920:151:4"},{"body":{"nodeType":"YulBlock","src":"1167:91:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1184:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1245:5:4"}],"functionName":{"name":"convert_t_contract$_ITellorDataBridge_$166_to_t_address","nodeType":"YulIdentifier","src":"1189:55:4"},"nodeType":"YulFunctionCall","src":"1189:62:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1177:6:4"},"nodeType":"YulFunctionCall","src":"1177:75:4"},"nodeType":"YulExpressionStatement","src":"1177:75:4"}]},"name":"abi_encode_t_contract$_ITellorDataBridge_$166_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1155:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1162:3:4","type":""}],"src":"1077:181:4"},{"body":{"nodeType":"YulBlock","src":"1387:149:4","statements":[{"nodeType":"YulAssignment","src":"1397:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1409:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"1420:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1405:3:4"},"nodeType":"YulFunctionCall","src":"1405:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1397:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1502:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1515:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"1526:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1511:3:4"},"nodeType":"YulFunctionCall","src":"1511:17:4"}],"functionName":{"name":"abi_encode_t_contract$_ITellorDataBridge_$166_to_t_address_fromStack","nodeType":"YulIdentifier","src":"1433:68:4"},"nodeType":"YulFunctionCall","src":"1433:96:4"},"nodeType":"YulExpressionStatement","src":"1433:96:4"}]},"name":"abi_encode_tuple_t_contract$_ITellorDataBridge_$166__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1359:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1371:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1382:4:4","type":""}],"src":"1264:272:4"},{"body":{"nodeType":"YulBlock","src":"1582:35:4","statements":[{"nodeType":"YulAssignment","src":"1592:19:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1608:2:4","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1602:5:4"},"nodeType":"YulFunctionCall","src":"1602:9:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1592:6:4"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1575:6:4","type":""}],"src":"1542:75:4"},{"body":{"nodeType":"YulBlock","src":"1712:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1729:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1732:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1722:6:4"},"nodeType":"YulFunctionCall","src":"1722:12:4"},"nodeType":"YulExpressionStatement","src":"1722:12:4"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"1623:117:4"},{"body":{"nodeType":"YulBlock","src":"1835:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1852:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1855:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1845:6:4"},"nodeType":"YulFunctionCall","src":"1845:12:4"},"nodeType":"YulExpressionStatement","src":"1845:12:4"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"1746:117:4"},{"body":{"nodeType":"YulBlock","src":"1958:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1975:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1978:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1968:6:4"},"nodeType":"YulFunctionCall","src":"1968:12:4"},"nodeType":"YulExpressionStatement","src":"1968:12:4"}]},"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulFunctionDefinition","src":"1869:117:4"},{"body":{"nodeType":"YulBlock","src":"2120:152:4","statements":[{"body":{"nodeType":"YulBlock","src":"2159:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulIdentifier","src":"2161:77:4"},"nodeType":"YulFunctionCall","src":"2161:79:4"},"nodeType":"YulExpressionStatement","src":"2161:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"2141:3:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2146:6:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2137:3:4"},"nodeType":"YulFunctionCall","src":"2137:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"2155:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2133:3:4"},"nodeType":"YulFunctionCall","src":"2133:25:4"},"nodeType":"YulIf","src":"2130:112:4"},{"nodeType":"YulAssignment","src":"2251:15:4","value":{"name":"offset","nodeType":"YulIdentifier","src":"2260:6:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2251:5:4"}]}]},"name":"abi_decode_t_struct$_OracleAttestationData_$106_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2098:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"2106:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2114:5:4","type":""}],"src":"2028:244:4"},{"body":{"nodeType":"YulBlock","src":"2367:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2384:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2387:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2377:6:4"},"nodeType":"YulFunctionCall","src":"2377:12:4"},"nodeType":"YulExpressionStatement","src":"2377:12:4"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"2278:117:4"},{"body":{"nodeType":"YulBlock","src":"2490:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2507:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2510:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2500:6:4"},"nodeType":"YulFunctionCall","src":"2500:12:4"},"nodeType":"YulExpressionStatement","src":"2500:12:4"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"2401:117:4"},{"body":{"nodeType":"YulBlock","src":"2613:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2630:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2633:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2623:6:4"},"nodeType":"YulFunctionCall","src":"2623:12:4"},"nodeType":"YulExpressionStatement","src":"2623:12:4"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"2524:117:4"},{"body":{"nodeType":"YulBlock","src":"2791:478:4","statements":[{"body":{"nodeType":"YulBlock","src":"2840:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"2842:77:4"},"nodeType":"YulFunctionCall","src":"2842:79:4"},"nodeType":"YulExpressionStatement","src":"2842:79:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2819:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"2827:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2815:3:4"},"nodeType":"YulFunctionCall","src":"2815:17:4"},{"name":"end","nodeType":"YulIdentifier","src":"2834:3:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2811:3:4"},"nodeType":"YulFunctionCall","src":"2811:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2804:6:4"},"nodeType":"YulFunctionCall","src":"2804:35:4"},"nodeType":"YulIf","src":"2801:122:4"},{"nodeType":"YulAssignment","src":"2932:30:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2955:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2942:12:4"},"nodeType":"YulFunctionCall","src":"2942:20:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2932:6:4"}]},{"body":{"nodeType":"YulBlock","src":"3005:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"3007:77:4"},"nodeType":"YulFunctionCall","src":"3007:79:4"},"nodeType":"YulExpressionStatement","src":"3007:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2977:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"2985:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2974:2:4"},"nodeType":"YulFunctionCall","src":"2974:30:4"},"nodeType":"YulIf","src":"2971:117:4"},{"nodeType":"YulAssignment","src":"3097:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3113:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3121:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3109:3:4"},"nodeType":"YulFunctionCall","src":"3109:17:4"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"3097:8:4"}]},{"body":{"nodeType":"YulBlock","src":"3180:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"3182:77:4"},"nodeType":"YulFunctionCall","src":"3182:79:4"},"nodeType":"YulExpressionStatement","src":"3182:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"3145:8:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3159:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3167:4:4","type":"","value":"0x40"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3155:3:4"},"nodeType":"YulFunctionCall","src":"3155:17:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3141:3:4"},"nodeType":"YulFunctionCall","src":"3141:32:4"},{"name":"end","nodeType":"YulIdentifier","src":"3175:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3138:2:4"},"nodeType":"YulFunctionCall","src":"3138:41:4"},"nodeType":"YulIf","src":"3135:128:4"}]},"name":"abi_decode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2758:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"2766:3:4","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"2774:8:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"2784:6:4","type":""}],"src":"2673:596:4"},{"body":{"nodeType":"YulBlock","src":"3419:478:4","statements":[{"body":{"nodeType":"YulBlock","src":"3468:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"3470:77:4"},"nodeType":"YulFunctionCall","src":"3470:79:4"},"nodeType":"YulExpressionStatement","src":"3470:79:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3447:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3455:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3443:3:4"},"nodeType":"YulFunctionCall","src":"3443:17:4"},{"name":"end","nodeType":"YulIdentifier","src":"3462:3:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3439:3:4"},"nodeType":"YulFunctionCall","src":"3439:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3432:6:4"},"nodeType":"YulFunctionCall","src":"3432:35:4"},"nodeType":"YulIf","src":"3429:122:4"},{"nodeType":"YulAssignment","src":"3560:30:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3583:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3570:12:4"},"nodeType":"YulFunctionCall","src":"3570:20:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"3560:6:4"}]},{"body":{"nodeType":"YulBlock","src":"3633:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"3635:77:4"},"nodeType":"YulFunctionCall","src":"3635:79:4"},"nodeType":"YulExpressionStatement","src":"3635:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3605:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3613:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3602:2:4"},"nodeType":"YulFunctionCall","src":"3602:30:4"},"nodeType":"YulIf","src":"3599:117:4"},{"nodeType":"YulAssignment","src":"3725:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3741:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3749:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3737:3:4"},"nodeType":"YulFunctionCall","src":"3737:17:4"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"3725:8:4"}]},{"body":{"nodeType":"YulBlock","src":"3808:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"3810:77:4"},"nodeType":"YulFunctionCall","src":"3810:79:4"},"nodeType":"YulExpressionStatement","src":"3810:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"3773:8:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3787:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3795:4:4","type":"","value":"0x60"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3783:3:4"},"nodeType":"YulFunctionCall","src":"3783:17:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3769:3:4"},"nodeType":"YulFunctionCall","src":"3769:32:4"},{"name":"end","nodeType":"YulIdentifier","src":"3803:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3766:2:4"},"nodeType":"YulFunctionCall","src":"3766:41:4"},"nodeType":"YulIf","src":"3763:128:4"}]},"name":"abi_decode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3386:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"3394:3:4","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"3402:8:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"3412:6:4","type":""}],"src":"3301:596:4"},{"body":{"nodeType":"YulBlock","src":"4169:1165:4","statements":[{"body":{"nodeType":"YulBlock","src":"4215:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"4217:77:4"},"nodeType":"YulFunctionCall","src":"4217:79:4"},"nodeType":"YulExpressionStatement","src":"4217:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4190:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"4199:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4186:3:4"},"nodeType":"YulFunctionCall","src":"4186:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"4211:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4182:3:4"},"nodeType":"YulFunctionCall","src":"4182:32:4"},"nodeType":"YulIf","src":"4179:119:4"},{"nodeType":"YulBlock","src":"4308:317:4","statements":[{"nodeType":"YulVariableDeclaration","src":"4323:45:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4354:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4365:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4350:3:4"},"nodeType":"YulFunctionCall","src":"4350:17:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4337:12:4"},"nodeType":"YulFunctionCall","src":"4337:31:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4327:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"4415:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"4417:77:4"},"nodeType":"YulFunctionCall","src":"4417:79:4"},"nodeType":"YulExpressionStatement","src":"4417:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4387:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4395:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4384:2:4"},"nodeType":"YulFunctionCall","src":"4384:30:4"},"nodeType":"YulIf","src":"4381:117:4"},{"nodeType":"YulAssignment","src":"4512:103:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4587:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"4598:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4583:3:4"},"nodeType":"YulFunctionCall","src":"4583:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4607:7:4"}],"functionName":{"name":"abi_decode_t_struct$_OracleAttestationData_$106_calldata_ptr","nodeType":"YulIdentifier","src":"4522:60:4"},"nodeType":"YulFunctionCall","src":"4522:93:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4512:6:4"}]}]},{"nodeType":"YulBlock","src":"4635:341:4","statements":[{"nodeType":"YulVariableDeclaration","src":"4650:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4681:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4692:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4677:3:4"},"nodeType":"YulFunctionCall","src":"4677:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4664:12:4"},"nodeType":"YulFunctionCall","src":"4664:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4654:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"4743:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"4745:77:4"},"nodeType":"YulFunctionCall","src":"4745:79:4"},"nodeType":"YulExpressionStatement","src":"4745:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4715:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4723:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4712:2:4"},"nodeType":"YulFunctionCall","src":"4712:30:4"},"nodeType":"YulIf","src":"4709:117:4"},{"nodeType":"YulAssignment","src":"4840:126:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4938:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"4949:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4934:3:4"},"nodeType":"YulFunctionCall","src":"4934:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4958:7:4"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"4858:75:4"},"nodeType":"YulFunctionCall","src":"4858:108:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4840:6:4"},{"name":"value2","nodeType":"YulIdentifier","src":"4848:6:4"}]}]},{"nodeType":"YulBlock","src":"4986:341:4","statements":[{"nodeType":"YulVariableDeclaration","src":"5001:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5032:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5043:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5028:3:4"},"nodeType":"YulFunctionCall","src":"5028:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5015:12:4"},"nodeType":"YulFunctionCall","src":"5015:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5005:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"5094:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"5096:77:4"},"nodeType":"YulFunctionCall","src":"5096:79:4"},"nodeType":"YulExpressionStatement","src":"5096:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5066:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5074:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5063:2:4"},"nodeType":"YulFunctionCall","src":"5063:30:4"},"nodeType":"YulIf","src":"5060:117:4"},{"nodeType":"YulAssignment","src":"5191:126:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5289:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5300:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5285:3:4"},"nodeType":"YulFunctionCall","src":"5285:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5309:7:4"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"5209:75:4"},"nodeType":"YulFunctionCall","src":"5209:108:4"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5191:6:4"},{"name":"value4","nodeType":"YulIdentifier","src":"5199:6:4"}]}]}]},"name":"abi_decode_tuple_t_struct$_OracleAttestationData_$106_calldata_ptrt_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4107:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4118:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4130:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4138:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4146:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4154:6:4","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4162:6:4","type":""}],"src":"3903:1431:4"},{"body":{"nodeType":"YulBlock","src":"5383:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"5440:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5449:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5452:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5442:6:4"},"nodeType":"YulFunctionCall","src":"5442:12:4"},"nodeType":"YulExpressionStatement","src":"5442:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5406:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5431:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5413:17:4"},"nodeType":"YulFunctionCall","src":"5413:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"5403:2:4"},"nodeType":"YulFunctionCall","src":"5403:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5396:6:4"},"nodeType":"YulFunctionCall","src":"5396:43:4"},"nodeType":"YulIf","src":"5393:63:4"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5376:5:4","type":""}],"src":"5340:122:4"},{"body":{"nodeType":"YulBlock","src":"5520:87:4","statements":[{"nodeType":"YulAssignment","src":"5530:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5552:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5539:12:4"},"nodeType":"YulFunctionCall","src":"5539:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"5530:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5595:5:4"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"5568:26:4"},"nodeType":"YulFunctionCall","src":"5568:33:4"},"nodeType":"YulExpressionStatement","src":"5568:33:4"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5498:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"5506:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"5514:5:4","type":""}],"src":"5468:139:4"},{"body":{"nodeType":"YulBlock","src":"5679:263:4","statements":[{"body":{"nodeType":"YulBlock","src":"5725:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"5727:77:4"},"nodeType":"YulFunctionCall","src":"5727:79:4"},"nodeType":"YulExpressionStatement","src":"5727:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5700:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"5709:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5696:3:4"},"nodeType":"YulFunctionCall","src":"5696:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"5721:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5692:3:4"},"nodeType":"YulFunctionCall","src":"5692:32:4"},"nodeType":"YulIf","src":"5689:119:4"},{"nodeType":"YulBlock","src":"5818:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"5833:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"5847:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5837:6:4","type":""}]},{"nodeType":"YulAssignment","src":"5862:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5897:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5908:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5893:3:4"},"nodeType":"YulFunctionCall","src":"5893:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5917:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"5872:20:4"},"nodeType":"YulFunctionCall","src":"5872:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5862:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5649:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5660:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5672:6:4","type":""}],"src":"5613:329:4"},{"body":{"nodeType":"YulBlock","src":"6074:206:4","statements":[{"nodeType":"YulAssignment","src":"6084:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6096:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6107:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6092:3:4"},"nodeType":"YulFunctionCall","src":"6092:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6084:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6164:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6177:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6188:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6173:3:4"},"nodeType":"YulFunctionCall","src":"6173:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"6120:43:4"},"nodeType":"YulFunctionCall","src":"6120:71:4"},"nodeType":"YulExpressionStatement","src":"6120:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"6245:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6258:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6269:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6254:3:4"},"nodeType":"YulFunctionCall","src":"6254:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"6201:43:4"},"nodeType":"YulFunctionCall","src":"6201:72:4"},"nodeType":"YulExpressionStatement","src":"6201:72:4"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6038:9:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6050:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6058:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6069:4:4","type":""}],"src":"5948:332:4"},{"body":{"nodeType":"YulBlock","src":"6341:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6358:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6381:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"6363:17:4"},"nodeType":"YulFunctionCall","src":"6363:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6351:6:4"},"nodeType":"YulFunctionCall","src":"6351:37:4"},"nodeType":"YulExpressionStatement","src":"6351:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6329:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6336:3:4","type":""}],"src":"6286:108:4"},{"body":{"nodeType":"YulBlock","src":"6594:397:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6604:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6620:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"6625:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6616:3:4"},"nodeType":"YulFunctionCall","src":"6616:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"6608:4:4","type":""}]},{"nodeType":"YulBlock","src":"6640:165:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6676:43:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6706:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"6713:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6702:3:4"},"nodeType":"YulFunctionCall","src":"6702:16:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6696:5:4"},"nodeType":"YulFunctionCall","src":"6696:23:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"6680:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"6766:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6784:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"6789:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6780:3:4"},"nodeType":"YulFunctionCall","src":"6780:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"6732:33:4"},"nodeType":"YulFunctionCall","src":"6732:63:4"},"nodeType":"YulExpressionStatement","src":"6732:63:4"}]},{"nodeType":"YulBlock","src":"6815:169:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6855:43:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6885:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"6892:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6881:3:4"},"nodeType":"YulFunctionCall","src":"6881:16:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6875:5:4"},"nodeType":"YulFunctionCall","src":"6875:23:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"6859:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"6945:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6963:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"6968:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6959:3:4"},"nodeType":"YulFunctionCall","src":"6959:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"6911:33:4"},"nodeType":"YulFunctionCall","src":"6911:63:4"},"nodeType":"YulExpressionStatement","src":"6911:63:4"}]}]},"name":"abi_encode_t_struct$_OracleData_$14_memory_ptr_to_t_struct$_OracleData_$14_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6581:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6588:3:4","type":""}],"src":"6476:515:4"},{"body":{"nodeType":"YulBlock","src":"7147:176:4","statements":[{"nodeType":"YulAssignment","src":"7157:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7169:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"7180:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7165:3:4"},"nodeType":"YulFunctionCall","src":"7165:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7157:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7289:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7302:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"7313:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7298:3:4"},"nodeType":"YulFunctionCall","src":"7298:17:4"}],"functionName":{"name":"abi_encode_t_struct$_OracleData_$14_memory_ptr_to_t_struct$_OracleData_$14_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7193:95:4"},"nodeType":"YulFunctionCall","src":"7193:123:4"},"nodeType":"YulExpressionStatement","src":"7193:123:4"}]},"name":"abi_encode_tuple_t_struct$_OracleData_$14_memory_ptr__to_t_struct$_OracleData_$14_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7119:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7131:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7142:4:4","type":""}],"src":"6997:326:4"},{"body":{"nodeType":"YulBlock","src":"7374:32:4","statements":[{"nodeType":"YulAssignment","src":"7384:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"7395:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"7384:7:4"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7356:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"7366:7:4","type":""}],"src":"7329:77:4"},{"body":{"nodeType":"YulBlock","src":"7455:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"7512:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7521:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7524:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7514:6:4"},"nodeType":"YulFunctionCall","src":"7514:12:4"},"nodeType":"YulExpressionStatement","src":"7514:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7478:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7503:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"7485:17:4"},"nodeType":"YulFunctionCall","src":"7485:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7475:2:4"},"nodeType":"YulFunctionCall","src":"7475:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7468:6:4"},"nodeType":"YulFunctionCall","src":"7468:43:4"},"nodeType":"YulIf","src":"7465:63:4"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7448:5:4","type":""}],"src":"7412:122:4"},{"body":{"nodeType":"YulBlock","src":"7592:87:4","statements":[{"nodeType":"YulAssignment","src":"7602:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7624:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7611:12:4"},"nodeType":"YulFunctionCall","src":"7611:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7602:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7667:5:4"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"7640:26:4"},"nodeType":"YulFunctionCall","src":"7640:33:4"},"nodeType":"YulExpressionStatement","src":"7640:33:4"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7570:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"7578:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7586:5:4","type":""}],"src":"7540:139:4"},{"body":{"nodeType":"YulBlock","src":"7743:64:4","statements":[{"nodeType":"YulAssignment","src":"7753:48:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"7783:3:4"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"7792:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"7797:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7788:3:4"},"nodeType":"YulFunctionCall","src":"7788:12:4"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"7762:20:4"},"nodeType":"YulFunctionCall","src":"7762:39:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7753:5:4"}]}]},"name":"calldata_access_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"7720:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"7729:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7737:5:4","type":""}],"src":"7685:122:4"},{"body":{"nodeType":"YulBlock","src":"7868:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7885:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7908:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"7890:17:4"},"nodeType":"YulFunctionCall","src":"7890:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7878:6:4"},"nodeType":"YulFunctionCall","src":"7878:37:4"},"nodeType":"YulExpressionStatement","src":"7878:37:4"}]},"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7856:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7863:3:4","type":""}],"src":"7813:108:4"},{"body":{"nodeType":"YulBlock","src":"8016:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8033:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8036:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8026:6:4"},"nodeType":"YulFunctionCall","src":"8026:12:4"},"nodeType":"YulExpressionStatement","src":"8026:12:4"}]},"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulFunctionDefinition","src":"7927:117:4"},{"body":{"nodeType":"YulBlock","src":"8138:288:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8148:43:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8187:3:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8174:12:4"},"nodeType":"YulFunctionCall","src":"8174:17:4"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"8152:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"8285:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulIdentifier","src":"8287:77:4"},"nodeType":"YulFunctionCall","src":"8287:79:4"},"nodeType":"YulExpressionStatement","src":"8287:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"8214:18:4"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"8242:12:4"},"nodeType":"YulFunctionCall","src":"8242:14:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"8258:8:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8238:3:4"},"nodeType":"YulFunctionCall","src":"8238:29:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8273:4:4","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"8279:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8269:3:4"},"nodeType":"YulFunctionCall","src":"8269:12:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8234:3:4"},"nodeType":"YulFunctionCall","src":"8234:48:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8210:3:4"},"nodeType":"YulFunctionCall","src":"8210:73:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8203:6:4"},"nodeType":"YulFunctionCall","src":"8203:81:4"},"nodeType":"YulIf","src":"8200:168:4"},{"nodeType":"YulAssignment","src":"8377:42:4","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"8390:18:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"8410:8:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8386:3:4"},"nodeType":"YulFunctionCall","src":"8386:33:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"8377:5:4"}]}]},"name":"calldata_access_t_struct$_ReportData_$119_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"8114:8:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"8124:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"8132:5:4","type":""}],"src":"8050:376:4"},{"body":{"nodeType":"YulBlock","src":"8521:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8538:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8541:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8531:6:4"},"nodeType":"YulFunctionCall","src":"8531:12:4"},"nodeType":"YulExpressionStatement","src":"8531:12:4"}]},"name":"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2","nodeType":"YulFunctionDefinition","src":"8432:117:4"},{"body":{"nodeType":"YulBlock","src":"8644:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8661:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8664:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8654:6:4"},"nodeType":"YulFunctionCall","src":"8654:12:4"},"nodeType":"YulExpressionStatement","src":"8654:12:4"}]},"name":"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20","nodeType":"YulFunctionDefinition","src":"8555:117:4"},{"body":{"nodeType":"YulBlock","src":"8756:633:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8766:43:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8805:3:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8792:12:4"},"nodeType":"YulFunctionCall","src":"8792:17:4"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"8770:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"8903:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4","nodeType":"YulIdentifier","src":"8905:77:4"},"nodeType":"YulFunctionCall","src":"8905:79:4"},"nodeType":"YulExpressionStatement","src":"8905:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"8832:18:4"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"8860:12:4"},"nodeType":"YulFunctionCall","src":"8860:14:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"8876:8:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8856:3:4"},"nodeType":"YulFunctionCall","src":"8856:29:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8891:4:4","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"8897:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8887:3:4"},"nodeType":"YulFunctionCall","src":"8887:12:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8852:3:4"},"nodeType":"YulFunctionCall","src":"8852:48:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8828:3:4"},"nodeType":"YulFunctionCall","src":"8828:73:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8821:6:4"},"nodeType":"YulFunctionCall","src":"8821:81:4"},"nodeType":"YulIf","src":"8818:168:4"},{"nodeType":"YulAssignment","src":"8995:42:4","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"9008:18:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"9028:8:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9004:3:4"},"nodeType":"YulFunctionCall","src":"9004:33:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"8995:5:4"}]},{"nodeType":"YulAssignment","src":"9047:29:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9070:5:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9057:12:4"},"nodeType":"YulFunctionCall","src":"9057:19:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"9047:6:4"}]},{"nodeType":"YulAssignment","src":"9085:25:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9098:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"9105:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9094:3:4"},"nodeType":"YulFunctionCall","src":"9094:16:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"9085:5:4"}]},{"body":{"nodeType":"YulBlock","src":"9153:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2","nodeType":"YulIdentifier","src":"9155:77:4"},"nodeType":"YulFunctionCall","src":"9155:79:4"},"nodeType":"YulExpressionStatement","src":"9155:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9125:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"9133:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9122:2:4"},"nodeType":"YulFunctionCall","src":"9122:30:4"},"nodeType":"YulIf","src":"9119:117:4"},{"body":{"nodeType":"YulBlock","src":"9299:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20","nodeType":"YulIdentifier","src":"9301:77:4"},"nodeType":"YulFunctionCall","src":"9301:79:4"},"nodeType":"YulExpressionStatement","src":"9301:79:4"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9252:5:4"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"9263:12:4"},"nodeType":"YulFunctionCall","src":"9263:14:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9283:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"9291:4:4","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"9279:3:4"},"nodeType":"YulFunctionCall","src":"9279:17:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9259:3:4"},"nodeType":"YulFunctionCall","src":"9259:38:4"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"9248:3:4"},"nodeType":"YulFunctionCall","src":"9248:50:4"},"nodeType":"YulIf","src":"9245:137:4"}]},"name":"calldata_access_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"8724:8:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"8734:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"8742:5:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"8749:6:4","type":""}],"src":"8678:711:4"},{"body":{"nodeType":"YulBlock","src":"9480:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9497:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"9502:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9490:6:4"},"nodeType":"YulFunctionCall","src":"9490:19:4"},"nodeType":"YulExpressionStatement","src":"9490:19:4"},{"nodeType":"YulAssignment","src":"9518:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9537:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"9542:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9533:3:4"},"nodeType":"YulFunctionCall","src":"9533:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"9518:11:4"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9452:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"9457:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"9468:11:4","type":""}],"src":"9395:158:4"},{"body":{"nodeType":"YulBlock","src":"9623:82:4","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9646:3:4"},{"name":"src","nodeType":"YulIdentifier","src":"9651:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"9656:6:4"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"9633:12:4"},"nodeType":"YulFunctionCall","src":"9633:30:4"},"nodeType":"YulExpressionStatement","src":"9633:30:4"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9683:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"9688:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9679:3:4"},"nodeType":"YulFunctionCall","src":"9679:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"9697:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9672:6:4"},"nodeType":"YulFunctionCall","src":"9672:27:4"},"nodeType":"YulExpressionStatement","src":"9672:27:4"}]},"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"9605:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"9610:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"9615:6:4","type":""}],"src":"9559:146:4"},{"body":{"nodeType":"YulBlock","src":"9759:54:4","statements":[{"nodeType":"YulAssignment","src":"9769:38:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9787:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"9794:2:4","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9783:3:4"},"nodeType":"YulFunctionCall","src":"9783:14:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9803:2:4","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9799:3:4"},"nodeType":"YulFunctionCall","src":"9799:7:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9779:3:4"},"nodeType":"YulFunctionCall","src":"9779:28:4"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"9769:6:4"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9742:5:4","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"9752:6:4","type":""}],"src":"9711:102:4"},{"body":{"nodeType":"YulBlock","src":"9931:204:4","statements":[{"nodeType":"YulAssignment","src":"9941:67:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9996:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"10001:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"9948:47:4"},"nodeType":"YulFunctionCall","src":"9948:60:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9941:3:4"}]},{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"10055:5:4"},{"name":"pos","nodeType":"YulIdentifier","src":"10062:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"10067:6:4"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"10018:36:4"},"nodeType":"YulFunctionCall","src":"10018:56:4"},"nodeType":"YulExpressionStatement","src":"10018:56:4"},{"nodeType":"YulAssignment","src":"10083:46:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10094:3:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10121:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"10099:21:4"},"nodeType":"YulFunctionCall","src":"10099:29:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10090:3:4"},"nodeType":"YulFunctionCall","src":"10090:39:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10083:3:4"}]}]},"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"9904:5:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"9911:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9919:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9927:3:4","type":""}],"src":"9841:294:4"},{"body":{"nodeType":"YulBlock","src":"10199:64:4","statements":[{"nodeType":"YulAssignment","src":"10209:48:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"10239:3:4"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"10248:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10253:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10244:3:4"},"nodeType":"YulFunctionCall","src":"10244:12:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"10218:20:4"},"nodeType":"YulFunctionCall","src":"10218:39:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"10209:5:4"}]}]},"name":"calldata_access_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"10176:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"10185:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"10193:5:4","type":""}],"src":"10141:122:4"},{"body":{"nodeType":"YulBlock","src":"10435:1435:4","statements":[{"nodeType":"YulVariableDeclaration","src":"10445:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10461:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10466:4:4","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10457:3:4"},"nodeType":"YulFunctionCall","src":"10457:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"10449:4:4","type":""}]},{"nodeType":"YulBlock","src":"10481:302:4","statements":[{"nodeType":"YulVariableDeclaration","src":"10517:95:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10588:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10599:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"10606:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10595:3:4"},"nodeType":"YulFunctionCall","src":"10595:16:4"}],"functionName":{"name":"calldata_access_t_bytes_calldata_ptr","nodeType":"YulIdentifier","src":"10551:36:4"},"nodeType":"YulFunctionCall","src":"10551:61:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"10521:12:4","type":""},{"name":"memberValue1","nodeType":"YulTypedName","src":"10535:12:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10637:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10642:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10633:3:4"},"nodeType":"YulFunctionCall","src":"10633:14:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"10653:4:4"},{"name":"pos","nodeType":"YulIdentifier","src":"10659:3:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10649:3:4"},"nodeType":"YulFunctionCall","src":"10649:14:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10626:6:4"},"nodeType":"YulFunctionCall","src":"10626:38:4"},"nodeType":"YulExpressionStatement","src":"10626:38:4"},{"nodeType":"YulAssignment","src":"10677:95:4","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"10739:12:4"},{"name":"memberValue1","nodeType":"YulIdentifier","src":"10753:12:4"},{"name":"tail","nodeType":"YulIdentifier","src":"10767:4:4"}],"functionName":{"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"10685:53:4"},"nodeType":"YulFunctionCall","src":"10685:87:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10677:4:4"}]}]},{"nodeType":"YulBlock","src":"10793:196:4","statements":[{"nodeType":"YulVariableDeclaration","src":"10833:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10879:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10890:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"10897:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10886:3:4"},"nodeType":"YulFunctionCall","src":"10886:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"10853:25:4"},"nodeType":"YulFunctionCall","src":"10853:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"10837:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"10950:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10968:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10973:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10964:3:4"},"nodeType":"YulFunctionCall","src":"10964:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"10916:33:4"},"nodeType":"YulFunctionCall","src":"10916:63:4"},"nodeType":"YulExpressionStatement","src":"10916:63:4"}]},{"nodeType":"YulBlock","src":"10999:201:4","statements":[{"nodeType":"YulVariableDeclaration","src":"11044:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11090:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11101:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"11108:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11097:3:4"},"nodeType":"YulFunctionCall","src":"11097:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11064:25:4"},"nodeType":"YulFunctionCall","src":"11064:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11048:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11161:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11179:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11184:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11175:3:4"},"nodeType":"YulFunctionCall","src":"11175:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11127:33:4"},"nodeType":"YulFunctionCall","src":"11127:63:4"},"nodeType":"YulExpressionStatement","src":"11127:63:4"}]},{"nodeType":"YulBlock","src":"11210:204:4","statements":[{"nodeType":"YulVariableDeclaration","src":"11258:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11304:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11315:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"11322:4:4","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11311:3:4"},"nodeType":"YulFunctionCall","src":"11311:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11278:25:4"},"nodeType":"YulFunctionCall","src":"11278:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11262:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11375:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11393:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11398:4:4","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11389:3:4"},"nodeType":"YulFunctionCall","src":"11389:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11341:33:4"},"nodeType":"YulFunctionCall","src":"11341:63:4"},"nodeType":"YulExpressionStatement","src":"11341:63:4"}]},{"nodeType":"YulBlock","src":"11424:200:4","statements":[{"nodeType":"YulVariableDeclaration","src":"11468:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11514:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11525:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"11532:4:4","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11521:3:4"},"nodeType":"YulFunctionCall","src":"11521:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11488:25:4"},"nodeType":"YulFunctionCall","src":"11488:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11472:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11585:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11603:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11608:4:4","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11599:3:4"},"nodeType":"YulFunctionCall","src":"11599:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11551:33:4"},"nodeType":"YulFunctionCall","src":"11551:63:4"},"nodeType":"YulExpressionStatement","src":"11551:63:4"}]},{"nodeType":"YulBlock","src":"11634:209:4","statements":[{"nodeType":"YulVariableDeclaration","src":"11687:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11733:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11744:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"11751:4:4","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11740:3:4"},"nodeType":"YulFunctionCall","src":"11740:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"11707:25:4"},"nodeType":"YulFunctionCall","src":"11707:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"11691:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"11804:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11822:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11827:4:4","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11818:3:4"},"nodeType":"YulFunctionCall","src":"11818:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"11770:33:4"},"nodeType":"YulFunctionCall","src":"11770:63:4"},"nodeType":"YulExpressionStatement","src":"11770:63:4"}]},{"nodeType":"YulAssignment","src":"11853:11:4","value":{"name":"tail","nodeType":"YulIdentifier","src":"11860:4:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11853:3:4"}]}]},"name":"abi_encode_t_struct$_ReportData_$119_calldata_ptr_to_t_struct$_ReportData_$119_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10414:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10421:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10430:3:4","type":""}],"src":"10315:1555:4"},{"body":{"nodeType":"YulBlock","src":"12096:823:4","statements":[{"nodeType":"YulVariableDeclaration","src":"12106:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12122:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12127:4:4","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12118:3:4"},"nodeType":"YulFunctionCall","src":"12118:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"12110:4:4","type":""}]},{"nodeType":"YulBlock","src":"12142:194:4","statements":[{"nodeType":"YulVariableDeclaration","src":"12180:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12226:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12237:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"12244:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12233:3:4"},"nodeType":"YulFunctionCall","src":"12233:16:4"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"12200:25:4"},"nodeType":"YulFunctionCall","src":"12200:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12184:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12297:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12315:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12320:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12311:3:4"},"nodeType":"YulFunctionCall","src":"12311:14:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"12263:33:4"},"nodeType":"YulFunctionCall","src":"12263:63:4"},"nodeType":"YulExpressionStatement","src":"12263:63:4"}]},{"nodeType":"YulBlock","src":"12346:329:4","statements":[{"nodeType":"YulVariableDeclaration","src":"12383:99:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12458:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12469:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"12476:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12465:3:4"},"nodeType":"YulFunctionCall","src":"12465:16:4"}],"functionName":{"name":"calldata_access_t_struct$_ReportData_$119_calldata_ptr","nodeType":"YulIdentifier","src":"12403:54:4"},"nodeType":"YulFunctionCall","src":"12403:79:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12387:12:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12507:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12512:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12503:3:4"},"nodeType":"YulFunctionCall","src":"12503:14:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12523:4:4"},{"name":"pos","nodeType":"YulIdentifier","src":"12529:3:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12519:3:4"},"nodeType":"YulFunctionCall","src":"12519:14:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12496:6:4"},"nodeType":"YulFunctionCall","src":"12496:38:4"},"nodeType":"YulExpressionStatement","src":"12496:38:4"},{"nodeType":"YulAssignment","src":"12547:117:4","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12645:12:4"},{"name":"tail","nodeType":"YulIdentifier","src":"12659:4:4"}],"functionName":{"name":"abi_encode_t_struct$_ReportData_$119_calldata_ptr_to_t_struct$_ReportData_$119_memory_ptr","nodeType":"YulIdentifier","src":"12555:89:4"},"nodeType":"YulFunctionCall","src":"12555:109:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12547:4:4"}]}]},{"nodeType":"YulBlock","src":"12685:207:4","statements":[{"nodeType":"YulVariableDeclaration","src":"12736:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12782:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12793:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"12800:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12789:3:4"},"nodeType":"YulFunctionCall","src":"12789:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"12756:25:4"},"nodeType":"YulFunctionCall","src":"12756:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12740:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12853:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12871:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12876:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12867:3:4"},"nodeType":"YulFunctionCall","src":"12867:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"12819:33:4"},"nodeType":"YulFunctionCall","src":"12819:63:4"},"nodeType":"YulExpressionStatement","src":"12819:63:4"}]},{"nodeType":"YulAssignment","src":"12902:11:4","value":{"name":"tail","nodeType":"YulIdentifier","src":"12909:4:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"12902:3:4"}]}]},"name":"abi_encode_t_struct$_OracleAttestationData_$106_calldata_ptr_to_t_struct$_OracleAttestationData_$106_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12075:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12082:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"12091:3:4","type":""}],"src":"11944:975:4"},{"body":{"nodeType":"YulBlock","src":"13062:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13079:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"13084:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13072:6:4"},"nodeType":"YulFunctionCall","src":"13072:19:4"},"nodeType":"YulExpressionStatement","src":"13072:19:4"},{"nodeType":"YulAssignment","src":"13100:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13119:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"13124:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13115:3:4"},"nodeType":"YulFunctionCall","src":"13115:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"13100:11:4"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13034:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"13039:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"13050:11:4","type":""}],"src":"12925:210:4"},{"body":{"nodeType":"YulBlock","src":"13243:28:4","statements":[{"nodeType":"YulAssignment","src":"13253:11:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"13261:3:4"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"13253:4:4"}]}]},"name":"array_dataslot_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"13230:3:4","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"13238:4:4","type":""}],"src":"13141:130:4"},{"body":{"nodeType":"YulBlock","src":"13322:51:4","statements":[{"nodeType":"YulAssignment","src":"13332:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13361:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"13343:17:4"},"nodeType":"YulFunctionCall","src":"13343:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"13332:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13304:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"13314:7:4","type":""}],"src":"13277:96:4"},{"body":{"nodeType":"YulBlock","src":"13422:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"13479:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13488:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13491:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13481:6:4"},"nodeType":"YulFunctionCall","src":"13481:12:4"},"nodeType":"YulExpressionStatement","src":"13481:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13445:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13470:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"13452:17:4"},"nodeType":"YulFunctionCall","src":"13452:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"13442:2:4"},"nodeType":"YulFunctionCall","src":"13442:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13435:6:4"},"nodeType":"YulFunctionCall","src":"13435:43:4"},"nodeType":"YulIf","src":"13432:63:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13415:5:4","type":""}],"src":"13379:122:4"},{"body":{"nodeType":"YulBlock","src":"13559:87:4","statements":[{"nodeType":"YulAssignment","src":"13569:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13591:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13578:12:4"},"nodeType":"YulFunctionCall","src":"13578:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"13569:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13634:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"13607:26:4"},"nodeType":"YulFunctionCall","src":"13607:33:4"},"nodeType":"YulExpressionStatement","src":"13607:33:4"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"13537:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"13545:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"13553:5:4","type":""}],"src":"13507:139:4"},{"body":{"nodeType":"YulBlock","src":"13710:64:4","statements":[{"nodeType":"YulAssignment","src":"13720:48:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"13750:3:4"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"13759:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"13764:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13755:3:4"},"nodeType":"YulFunctionCall","src":"13755:12:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"13729:20:4"},"nodeType":"YulFunctionCall","src":"13729:39:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"13720:5:4"}]}]},"name":"calldata_access_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"13687:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"13696:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"13704:5:4","type":""}],"src":"13652:122:4"},{"body":{"nodeType":"YulBlock","src":"13835:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13852:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13875:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"13857:17:4"},"nodeType":"YulFunctionCall","src":"13857:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13845:6:4"},"nodeType":"YulFunctionCall","src":"13845:37:4"},"nodeType":"YulExpressionStatement","src":"13845:37:4"}]},"name":"abi_encode_t_address_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13823:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"13830:3:4","type":""}],"src":"13780:108:4"},{"body":{"nodeType":"YulBlock","src":"14048:446:4","statements":[{"nodeType":"YulVariableDeclaration","src":"14058:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14074:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"14079:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14070:3:4"},"nodeType":"YulFunctionCall","src":"14070:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"14062:4:4","type":""}]},{"nodeType":"YulBlock","src":"14094:191:4","statements":[{"nodeType":"YulVariableDeclaration","src":"14129:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14175:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14186:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"14193:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14182:3:4"},"nodeType":"YulFunctionCall","src":"14182:16:4"}],"functionName":{"name":"calldata_access_t_address","nodeType":"YulIdentifier","src":"14149:25:4"},"nodeType":"YulFunctionCall","src":"14149:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"14133:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"14246:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14264:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"14269:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14260:3:4"},"nodeType":"YulFunctionCall","src":"14260:14:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"14212:33:4"},"nodeType":"YulFunctionCall","src":"14212:63:4"},"nodeType":"YulExpressionStatement","src":"14212:63:4"}]},{"nodeType":"YulBlock","src":"14295:192:4","statements":[{"nodeType":"YulVariableDeclaration","src":"14331:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14377:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14388:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"14395:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14384:3:4"},"nodeType":"YulFunctionCall","src":"14384:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"14351:25:4"},"nodeType":"YulFunctionCall","src":"14351:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"14335:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"14448:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14466:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"14471:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14462:3:4"},"nodeType":"YulFunctionCall","src":"14462:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"14414:33:4"},"nodeType":"YulFunctionCall","src":"14414:63:4"},"nodeType":"YulExpressionStatement","src":"14414:63:4"}]}]},"name":"abi_encode_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14035:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"14042:3:4","type":""}],"src":"13938:556:4"},{"body":{"nodeType":"YulBlock","src":"14634:153:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14732:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"14740:3:4"}],"functionName":{"name":"abi_encode_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr","nodeType":"YulIdentifier","src":"14644:87:4"},"nodeType":"YulFunctionCall","src":"14644:100:4"},"nodeType":"YulExpressionStatement","src":"14644:100:4"},{"nodeType":"YulAssignment","src":"14753:28:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14771:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"14776:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14767:3:4"},"nodeType":"YulFunctionCall","src":"14767:14:4"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"14753:10:4"}]}]},"name":"abi_encodeUpdatedPos_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"14607:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"14615:3:4","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"14623:10:4","type":""}],"src":"14500:287:4"},{"body":{"nodeType":"YulBlock","src":"14879:28:4","statements":[{"nodeType":"YulAssignment","src":"14889:12:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"14898:3:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"14889:5:4"}]}]},"name":"calldata_access_t_struct$_Validator_$131_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"14856:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"14865:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"14873:5:4","type":""}],"src":"14793:114:4"},{"body":{"nodeType":"YulBlock","src":"15018:38:4","statements":[{"nodeType":"YulAssignment","src":"15028:22:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"15040:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"15045:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15036:3:4"},"nodeType":"YulFunctionCall","src":"15036:14:4"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"15028:4:4"}]}]},"name":"array_nextElement_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"15005:3:4","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"15013:4:4","type":""}],"src":"14913:143:4"},{"body":{"nodeType":"YulBlock","src":"15298:729:4","statements":[{"nodeType":"YulAssignment","src":"15309:119:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15416:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"15421:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"15316:99:4"},"nodeType":"YulFunctionCall","src":"15316:112:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15309:3:4"}]},{"nodeType":"YulVariableDeclaration","src":"15437:101:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15532:5:4"}],"functionName":{"name":"array_dataslot_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"15452:79:4"},"nodeType":"YulFunctionCall","src":"15452:86:4"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"15441:7:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15547:21:4","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"15561:7:4"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"15551:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"15637:365:4","statements":[{"nodeType":"YulVariableDeclaration","src":"15651:91:4","value":{"arguments":[{"name":"baseRef","nodeType":"YulIdentifier","src":"15726:7:4"},{"name":"srcPtr","nodeType":"YulIdentifier","src":"15735:6:4"}],"functionName":{"name":"calldata_access_t_struct$_Validator_$131_calldata_ptr","nodeType":"YulIdentifier","src":"15672:53:4"},"nodeType":"YulFunctionCall","src":"15672:70:4"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"15655:13:4","type":""}]},{"nodeType":"YulAssignment","src":"15755:124:4","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"15860:13:4"},{"name":"pos","nodeType":"YulIdentifier","src":"15875:3:4"}],"functionName":{"name":"abi_encodeUpdatedPos_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr","nodeType":"YulIdentifier","src":"15762:97:4"},"nodeType":"YulFunctionCall","src":"15762:117:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15755:3:4"}]},{"nodeType":"YulAssignment","src":"15892:100:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"15985:6:4"}],"functionName":{"name":"array_nextElement_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"15902:82:4"},"nodeType":"YulFunctionCall","src":"15902:90:4"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"15892:6:4"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"15599:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"15602:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15596:2:4"},"nodeType":"YulFunctionCall","src":"15596:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"15610:18:4","statements":[{"nodeType":"YulAssignment","src":"15612:14:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"15621:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"15624:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15617:3:4"},"nodeType":"YulFunctionCall","src":"15617:9:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"15612:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"15581:14:4","statements":[{"nodeType":"YulVariableDeclaration","src":"15583:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"15592:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"15587:1:4","type":""}]}]},"src":"15577:425:4"},{"nodeType":"YulAssignment","src":"16011:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"16018:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16011:3:4"}]}]},"name":"abi_encode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15269:5:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"15276:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"15284:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"15293:3:4","type":""}],"src":"15110:917:4"},{"body":{"nodeType":"YulBlock","src":"16170:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16187:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16192:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16180:6:4"},"nodeType":"YulFunctionCall","src":"16180:19:4"},"nodeType":"YulExpressionStatement","src":"16180:19:4"},{"nodeType":"YulAssignment","src":"16208:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16227:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"16232:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16223:3:4"},"nodeType":"YulFunctionCall","src":"16223:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16208:11:4"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16142:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"16147:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16158:11:4","type":""}],"src":"16033:210:4"},{"body":{"nodeType":"YulBlock","src":"16351:28:4","statements":[{"nodeType":"YulAssignment","src":"16361:11:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"16369:3:4"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"16361:4:4"}]}]},"name":"array_dataslot_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"16338:3:4","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"16346:4:4","type":""}],"src":"16249:130:4"},{"body":{"nodeType":"YulBlock","src":"16428:43:4","statements":[{"nodeType":"YulAssignment","src":"16438:27:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16453:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"16460:4:4","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16449:3:4"},"nodeType":"YulFunctionCall","src":"16449:16:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"16438:7:4"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16410:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"16420:7:4","type":""}],"src":"16385:86:4"},{"body":{"nodeType":"YulBlock","src":"16518:77:4","statements":[{"body":{"nodeType":"YulBlock","src":"16573:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16582:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16585:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16575:6:4"},"nodeType":"YulFunctionCall","src":"16575:12:4"},"nodeType":"YulExpressionStatement","src":"16575:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16541:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16564:5:4"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"16548:15:4"},"nodeType":"YulFunctionCall","src":"16548:22:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"16538:2:4"},"nodeType":"YulFunctionCall","src":"16538:33:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16531:6:4"},"nodeType":"YulFunctionCall","src":"16531:41:4"},"nodeType":"YulIf","src":"16528:61:4"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16511:5:4","type":""}],"src":"16477:118:4"},{"body":{"nodeType":"YulBlock","src":"16651:85:4","statements":[{"nodeType":"YulAssignment","src":"16661:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"16683:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16670:12:4"},"nodeType":"YulFunctionCall","src":"16670:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"16661:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16724:5:4"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"16699:24:4"},"nodeType":"YulFunctionCall","src":"16699:31:4"},"nodeType":"YulExpressionStatement","src":"16699:31:4"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"16629:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"16637:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"16645:5:4","type":""}],"src":"16601:135:4"},{"body":{"nodeType":"YulBlock","src":"16798:62:4","statements":[{"nodeType":"YulAssignment","src":"16808:46:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"16836:3:4"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"16845:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"16850:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16841:3:4"},"nodeType":"YulFunctionCall","src":"16841:12:4"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"16817:18:4"},"nodeType":"YulFunctionCall","src":"16817:37:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"16808:5:4"}]}]},"name":"calldata_access_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"16775:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"16784:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"16792:5:4","type":""}],"src":"16742:118:4"},{"body":{"nodeType":"YulBlock","src":"16917:51:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16934:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16955:5:4"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"16939:15:4"},"nodeType":"YulFunctionCall","src":"16939:22:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16927:6:4"},"nodeType":"YulFunctionCall","src":"16927:35:4"},"nodeType":"YulExpressionStatement","src":"16927:35:4"}]},"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16905:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"16912:3:4","type":""}],"src":"16866:102:4"},{"body":{"nodeType":"YulBlock","src":"17128:631:4","statements":[{"nodeType":"YulVariableDeclaration","src":"17138:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17154:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"17159:4:4","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17150:3:4"},"nodeType":"YulFunctionCall","src":"17150:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"17142:4:4","type":""}]},{"nodeType":"YulBlock","src":"17174:182:4","statements":[{"nodeType":"YulVariableDeclaration","src":"17206:68:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17250:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17261:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"17268:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17257:3:4"},"nodeType":"YulFunctionCall","src":"17257:16:4"}],"functionName":{"name":"calldata_access_t_uint8","nodeType":"YulIdentifier","src":"17226:23:4"},"nodeType":"YulFunctionCall","src":"17226:48:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17210:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17317:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17335:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"17340:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17331:3:4"},"nodeType":"YulFunctionCall","src":"17331:14:4"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"17287:29:4"},"nodeType":"YulFunctionCall","src":"17287:59:4"},"nodeType":"YulExpressionStatement","src":"17287:59:4"}]},{"nodeType":"YulBlock","src":"17366:188:4","statements":[{"nodeType":"YulVariableDeclaration","src":"17398:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17444:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17455:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"17462:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17451:3:4"},"nodeType":"YulFunctionCall","src":"17451:16:4"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"17418:25:4"},"nodeType":"YulFunctionCall","src":"17418:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17402:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17515:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17533:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"17538:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17529:3:4"},"nodeType":"YulFunctionCall","src":"17529:14:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"17481:33:4"},"nodeType":"YulFunctionCall","src":"17481:63:4"},"nodeType":"YulExpressionStatement","src":"17481:63:4"}]},{"nodeType":"YulBlock","src":"17564:188:4","statements":[{"nodeType":"YulVariableDeclaration","src":"17596:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17642:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17653:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"17660:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17649:3:4"},"nodeType":"YulFunctionCall","src":"17649:16:4"}],"functionName":{"name":"calldata_access_t_bytes32","nodeType":"YulIdentifier","src":"17616:25:4"},"nodeType":"YulFunctionCall","src":"17616:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"17600:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"17713:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17731:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"17736:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17727:3:4"},"nodeType":"YulFunctionCall","src":"17727:14:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"17679:33:4"},"nodeType":"YulFunctionCall","src":"17679:63:4"},"nodeType":"YulExpressionStatement","src":"17679:63:4"}]}]},"name":"abi_encode_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17115:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"17122:3:4","type":""}],"src":"17018:741:4"},{"body":{"nodeType":"YulBlock","src":"17899:153:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17997:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"18005:3:4"}],"functionName":{"name":"abi_encode_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr","nodeType":"YulIdentifier","src":"17909:87:4"},"nodeType":"YulFunctionCall","src":"17909:100:4"},"nodeType":"YulExpressionStatement","src":"17909:100:4"},{"nodeType":"YulAssignment","src":"18018:28:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18036:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"18041:4:4","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18032:3:4"},"nodeType":"YulFunctionCall","src":"18032:14:4"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"18018:10:4"}]}]},"name":"abi_encodeUpdatedPos_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"17872:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"17880:3:4","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"17888:10:4","type":""}],"src":"17765:287:4"},{"body":{"nodeType":"YulBlock","src":"18144:28:4","statements":[{"nodeType":"YulAssignment","src":"18154:12:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"18163:3:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"18154:5:4"}]}]},"name":"calldata_access_t_struct$_Signature_$126_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"18121:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"18130:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"18138:5:4","type":""}],"src":"18058:114:4"},{"body":{"nodeType":"YulBlock","src":"18283:38:4","statements":[{"nodeType":"YulAssignment","src":"18293:22:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"18305:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"18310:4:4","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18301:3:4"},"nodeType":"YulFunctionCall","src":"18301:14:4"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"18293:4:4"}]}]},"name":"array_nextElement_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"18270:3:4","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"18278:4:4","type":""}],"src":"18178:143:4"},{"body":{"nodeType":"YulBlock","src":"18563:729:4","statements":[{"nodeType":"YulAssignment","src":"18574:119:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18681:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"18686:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"18581:99:4"},"nodeType":"YulFunctionCall","src":"18581:112:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"18574:3:4"}]},{"nodeType":"YulVariableDeclaration","src":"18702:101:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18797:5:4"}],"functionName":{"name":"array_dataslot_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"18717:79:4"},"nodeType":"YulFunctionCall","src":"18717:86:4"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"18706:7:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18812:21:4","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"18826:7:4"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"18816:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"18902:365:4","statements":[{"nodeType":"YulVariableDeclaration","src":"18916:91:4","value":{"arguments":[{"name":"baseRef","nodeType":"YulIdentifier","src":"18991:7:4"},{"name":"srcPtr","nodeType":"YulIdentifier","src":"19000:6:4"}],"functionName":{"name":"calldata_access_t_struct$_Signature_$126_calldata_ptr","nodeType":"YulIdentifier","src":"18937:53:4"},"nodeType":"YulFunctionCall","src":"18937:70:4"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"18920:13:4","type":""}]},{"nodeType":"YulAssignment","src":"19020:124:4","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"19125:13:4"},{"name":"pos","nodeType":"YulIdentifier","src":"19140:3:4"}],"functionName":{"name":"abi_encodeUpdatedPos_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr","nodeType":"YulIdentifier","src":"19027:97:4"},"nodeType":"YulFunctionCall","src":"19027:117:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"19020:3:4"}]},{"nodeType":"YulAssignment","src":"19157:100:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"19250:6:4"}],"functionName":{"name":"array_nextElement_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"19167:82:4"},"nodeType":"YulFunctionCall","src":"19167:90:4"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"19157:6:4"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"18864:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"18867:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18861:2:4"},"nodeType":"YulFunctionCall","src":"18861:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"18875:18:4","statements":[{"nodeType":"YulAssignment","src":"18877:14:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"18886:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"18889:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18882:3:4"},"nodeType":"YulFunctionCall","src":"18882:9:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"18877:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"18846:14:4","statements":[{"nodeType":"YulVariableDeclaration","src":"18848:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"18857:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"18852:1:4","type":""}]}]},"src":"18842:425:4"},{"nodeType":"YulAssignment","src":"19276:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"19283:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"19276:3:4"}]}]},"name":"abi_encode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18534:5:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"18541:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18549:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"18558:3:4","type":""}],"src":"18375:917:4"},{"body":{"nodeType":"YulBlock","src":"19758:747:4","statements":[{"nodeType":"YulAssignment","src":"19768:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19780:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19791:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19776:3:4"},"nodeType":"YulFunctionCall","src":"19776:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19768:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19815:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19826:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19811:3:4"},"nodeType":"YulFunctionCall","src":"19811:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"19834:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"19840:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19830:3:4"},"nodeType":"YulFunctionCall","src":"19830:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19804:6:4"},"nodeType":"YulFunctionCall","src":"19804:47:4"},"nodeType":"YulExpressionStatement","src":"19804:47:4"},{"nodeType":"YulAssignment","src":"19860:144:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19990:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"19999:4:4"}],"functionName":{"name":"abi_encode_t_struct$_OracleAttestationData_$106_calldata_ptr_to_t_struct$_OracleAttestationData_$106_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"19868:121:4"},"nodeType":"YulFunctionCall","src":"19868:136:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19860:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20025:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"20036:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20021:3:4"},"nodeType":"YulFunctionCall","src":"20021:18:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20045:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"20051:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20041:3:4"},"nodeType":"YulFunctionCall","src":"20041:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20014:6:4"},"nodeType":"YulFunctionCall","src":"20014:48:4"},"nodeType":"YulExpressionStatement","src":"20014:48:4"},{"nodeType":"YulAssignment","src":"20071:180:4","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20229:6:4"},{"name":"value2","nodeType":"YulIdentifier","src":"20237:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"20246:4:4"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20079:149:4"},"nodeType":"YulFunctionCall","src":"20079:172:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20071:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20272:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"20283:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20268:3:4"},"nodeType":"YulFunctionCall","src":"20268:18:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20292:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"20298:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20288:3:4"},"nodeType":"YulFunctionCall","src":"20288:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20261:6:4"},"nodeType":"YulFunctionCall","src":"20261:48:4"},"nodeType":"YulExpressionStatement","src":"20261:48:4"},{"nodeType":"YulAssignment","src":"20318:180:4","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"20476:6:4"},{"name":"value4","nodeType":"YulIdentifier","src":"20484:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"20493:4:4"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20326:149:4"},"nodeType":"YulFunctionCall","src":"20326:172:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20318:4:4"}]}]},"name":"abi_encode_tuple_t_struct$_OracleAttestationData_$106_calldata_ptr_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr__to_t_struct$_OracleAttestationData_$106_memory_ptr_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19698:9:4","type":""},{"name":"value4","nodeType":"YulTypedName","src":"19710:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"19718:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19726:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19734:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19742:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19753:4:4","type":""}],"src":"19298:1207:4"},{"body":{"nodeType":"YulBlock","src":"20600:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20617:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20620:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20610:6:4"},"nodeType":"YulFunctionCall","src":"20610:12:4"},"nodeType":"YulExpressionStatement","src":"20610:12:4"}]},"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulFunctionDefinition","src":"20511:117:4"},{"body":{"nodeType":"YulBlock","src":"20723:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20740:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20743:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20733:6:4"},"nodeType":"YulFunctionCall","src":"20733:12:4"},"nodeType":"YulExpressionStatement","src":"20733:12:4"}]},"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulFunctionDefinition","src":"20634:117:4"},{"body":{"nodeType":"YulBlock","src":"20846:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20863:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20866:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20856:6:4"},"nodeType":"YulFunctionCall","src":"20856:12:4"},"nodeType":"YulExpressionStatement","src":"20856:12:4"}]},"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulFunctionDefinition","src":"20757:117:4"},{"body":{"nodeType":"YulBlock","src":"20980:295:4","statements":[{"nodeType":"YulVariableDeclaration","src":"20990:51:4","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"21029:11:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21016:12:4"},"nodeType":"YulFunctionCall","src":"21016:25:4"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"20994:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"21135:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"21137:77:4"},"nodeType":"YulFunctionCall","src":"21137:79:4"},"nodeType":"YulExpressionStatement","src":"21137:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"21064:18:4"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"21092:12:4"},"nodeType":"YulFunctionCall","src":"21092:14:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"21108:8:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21088:3:4"},"nodeType":"YulFunctionCall","src":"21088:29:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21123:4:4","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"21129:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21119:3:4"},"nodeType":"YulFunctionCall","src":"21119:12:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21084:3:4"},"nodeType":"YulFunctionCall","src":"21084:48:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21060:3:4"},"nodeType":"YulFunctionCall","src":"21060:73:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21053:6:4"},"nodeType":"YulFunctionCall","src":"21053:81:4"},"nodeType":"YulIf","src":"21050:168:4"},{"nodeType":"YulAssignment","src":"21227:41:4","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"21239:8:4"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"21249:18:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21235:3:4"},"nodeType":"YulFunctionCall","src":"21235:33:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"21227:4:4"}]}]},"name":"access_calldata_tail_t_struct$_ReportData_$119_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"20949:8:4","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"20959:11:4","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"20975:4:4","type":""}],"src":"20880:395:4"},{"body":{"nodeType":"YulBlock","src":"21371:634:4","statements":[{"nodeType":"YulVariableDeclaration","src":"21381:51:4","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"21420:11:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21407:12:4"},"nodeType":"YulFunctionCall","src":"21407:25:4"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"21385:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"21526:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"21528:77:4"},"nodeType":"YulFunctionCall","src":"21528:79:4"},"nodeType":"YulExpressionStatement","src":"21528:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"21455:18:4"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"21483:12:4"},"nodeType":"YulFunctionCall","src":"21483:14:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"21499:8:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21479:3:4"},"nodeType":"YulFunctionCall","src":"21479:29:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21514:4:4","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"21520:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21510:3:4"},"nodeType":"YulFunctionCall","src":"21510:12:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21475:3:4"},"nodeType":"YulFunctionCall","src":"21475:48:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21451:3:4"},"nodeType":"YulFunctionCall","src":"21451:73:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21444:6:4"},"nodeType":"YulFunctionCall","src":"21444:81:4"},"nodeType":"YulIf","src":"21441:168:4"},{"nodeType":"YulAssignment","src":"21618:41:4","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"21630:8:4"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"21640:18:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21626:3:4"},"nodeType":"YulFunctionCall","src":"21626:33:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"21618:4:4"}]},{"nodeType":"YulAssignment","src":"21669:28:4","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"21692:4:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21679:12:4"},"nodeType":"YulFunctionCall","src":"21679:18:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"21669:6:4"}]},{"body":{"nodeType":"YulBlock","src":"21740:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulIdentifier","src":"21742:77:4"},"nodeType":"YulFunctionCall","src":"21742:79:4"},"nodeType":"YulExpressionStatement","src":"21742:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"21712:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"21720:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"21709:2:4"},"nodeType":"YulFunctionCall","src":"21709:30:4"},"nodeType":"YulIf","src":"21706:117:4"},{"nodeType":"YulAssignment","src":"21832:21:4","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"21844:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"21850:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21840:3:4"},"nodeType":"YulFunctionCall","src":"21840:13:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"21832:4:4"}]},{"body":{"nodeType":"YulBlock","src":"21915:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulIdentifier","src":"21917:77:4"},"nodeType":"YulFunctionCall","src":"21917:79:4"},"nodeType":"YulExpressionStatement","src":"21917:79:4"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"21869:4:4"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"21879:12:4"},"nodeType":"YulFunctionCall","src":"21879:14:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"21899:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"21907:4:4","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"21895:3:4"},"nodeType":"YulFunctionCall","src":"21895:17:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21875:3:4"},"nodeType":"YulFunctionCall","src":"21875:38:4"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"21865:3:4"},"nodeType":"YulFunctionCall","src":"21865:49:4"},"nodeType":"YulIf","src":"21862:136:4"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"21332:8:4","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"21342:11:4","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"21358:4:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"21364:6:4","type":""}],"src":"21281:724:4"},{"body":{"nodeType":"YulBlock","src":"22039:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22056:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22059:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22049:6:4"},"nodeType":"YulFunctionCall","src":"22049:88:4"},"nodeType":"YulExpressionStatement","src":"22049:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22153:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"22156:4:4","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22146:6:4"},"nodeType":"YulFunctionCall","src":"22146:15:4"},"nodeType":"YulExpressionStatement","src":"22146:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22177:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22180:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22170:6:4"},"nodeType":"YulFunctionCall","src":"22170:15:4"},"nodeType":"YulExpressionStatement","src":"22170:15:4"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"22011:180:4"},{"body":{"nodeType":"YulBlock","src":"22242:149:4","statements":[{"nodeType":"YulAssignment","src":"22252:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22275:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"22257:17:4"},"nodeType":"YulFunctionCall","src":"22257:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"22252:1:4"}]},{"nodeType":"YulAssignment","src":"22286:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"22309:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"22291:17:4"},"nodeType":"YulFunctionCall","src":"22291:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"22286:1:4"}]},{"nodeType":"YulAssignment","src":"22320:17:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22332:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"22335:1:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22328:3:4"},"nodeType":"YulFunctionCall","src":"22328:9:4"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"22320:4:4"}]},{"body":{"nodeType":"YulBlock","src":"22362:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22364:16:4"},"nodeType":"YulFunctionCall","src":"22364:18:4"},"nodeType":"YulExpressionStatement","src":"22364:18:4"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"22353:4:4"},{"name":"x","nodeType":"YulIdentifier","src":"22359:1:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22350:2:4"},"nodeType":"YulFunctionCall","src":"22350:11:4"},"nodeType":"YulIf","src":"22347:37:4"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22228:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"22231:1:4","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"22237:4:4","type":""}],"src":"22197:194:4"},{"body":{"nodeType":"YulBlock","src":"22425:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22442:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22445:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22435:6:4"},"nodeType":"YulFunctionCall","src":"22435:88:4"},"nodeType":"YulExpressionStatement","src":"22435:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22539:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"22542:4:4","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22532:6:4"},"nodeType":"YulFunctionCall","src":"22532:15:4"},"nodeType":"YulExpressionStatement","src":"22532:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22563:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22566:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22556:6:4"},"nodeType":"YulFunctionCall","src":"22556:15:4"},"nodeType":"YulExpressionStatement","src":"22556:15:4"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"22397:180:4"}]},"contents":"{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(identity(cleanup_t_uint160(value)))\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_contract$_ITellorDataBridge_$166_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_ITellorDataBridge_$166_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_ITellorDataBridge_$166_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_ITellorDataBridge_$166__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_ITellorDataBridge_$166_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct OracleAttestationData\n function abi_decode_t_struct$_OracleAttestationData_$106_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 96) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // struct Validator[]\n function abi_decode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x40)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // struct Signature[]\n function abi_decode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x60)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_struct$_OracleAttestationData_$106_calldata_ptrt_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_OracleAttestationData_$106_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n // struct YoloTellorUser.OracleData -> struct YoloTellorUser.OracleData\n function abi_encode_t_struct$_OracleData_$14_memory_ptr_to_t_struct$_OracleData_$14_memory_ptr_fromStack(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // value\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // timestamp\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encode_tuple_t_struct$_OracleData_$14_memory_ptr__to_t_struct$_OracleData_$14_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_struct$_OracleData_$14_memory_ptr_to_t_struct$_OracleData_$14_memory_ptr_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function calldata_access_t_bytes32(baseRef, ptr) -> value {\n value := abi_decode_t_bytes32(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() {\n revert(0, 0)\n }\n\n function calldata_access_t_struct$_ReportData_$119_calldata_ptr(base_ref, ptr) -> value {\n let rel_offset_of_tail := calldataload(ptr)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() }\n value := add(rel_offset_of_tail, base_ref)\n\n }\n\n function revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() {\n revert(0, 0)\n }\n\n function revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() {\n revert(0, 0)\n }\n\n function calldata_access_t_bytes_calldata_ptr(base_ref, ptr) -> value, length {\n let rel_offset_of_tail := calldataload(ptr)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() }\n value := add(rel_offset_of_tail, base_ref)\n\n length := calldataload(value)\n value := add(value, 0x20)\n if gt(length, 0xffffffffffffffff) { revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() }\n if sgt(value, sub(calldatasize(), mul(length, 0x01))) { revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() }\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function calldata_access_t_uint256(baseRef, ptr) -> value {\n value := abi_decode_t_uint256(ptr, add(ptr, 32))\n }\n\n // struct ReportData -> struct ReportData\n function abi_encode_t_struct$_ReportData_$119_calldata_ptr_to_t_struct$_ReportData_$119_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0xc0)\n\n {\n // value\n\n let memberValue0, memberValue1 := calldata_access_t_bytes_calldata_ptr(value, add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(memberValue0, memberValue1, tail)\n\n }\n\n {\n // timestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n {\n // aggregatePower\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // previousTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // nextTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x80))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x80))\n }\n\n {\n // lastConsensusTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n end := tail\n }\n\n // struct OracleAttestationData -> struct OracleAttestationData\n function abi_encode_t_struct$_OracleAttestationData_$106_calldata_ptr_to_t_struct$_OracleAttestationData_$106_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x60)\n\n {\n // queryId\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x00))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x00))\n }\n\n {\n // report\n\n let memberValue0 := calldata_access_t_struct$_ReportData_$119_calldata_ptr(value, add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_struct$_ReportData_$119_calldata_ptr_to_t_struct$_ReportData_$119_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // attestationTimestamp\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n end := tail\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function calldata_access_t_address(baseRef, ptr) -> value {\n value := abi_decode_t_address(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n // struct Validator -> struct Validator\n function abi_encode_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // addr\n\n let memberValue0 := calldata_access_t_address(value, add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // power\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encodeUpdatedPos_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr(value0, pos) -> updatedPos {\n abi_encode_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr(value0, pos)\n updatedPos := add(pos, 0x40)\n }\n\n function calldata_access_t_struct$_Validator_$131_calldata_ptr(baseRef, ptr) -> value {\n value := ptr\n }\n\n function array_nextElement_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x40)\n }\n\n // struct Validator[] -> struct Validator[]\n function abi_encode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_struct$_Validator_$131_calldata_ptr(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_struct$_Validator_$131_calldata_ptr_to_t_struct$_Validator_$131_memory_ptr(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function calldata_access_t_uint8(baseRef, ptr) -> value {\n value := abi_decode_t_uint8(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_uint8_to_t_uint8(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n // struct Signature -> struct Signature\n function abi_encode_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr(value, pos) {\n let tail := add(pos, 0x60)\n\n {\n // v\n\n let memberValue0 := calldata_access_t_uint8(value, add(value, 0x00))\n abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x00))\n }\n\n {\n // r\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x20))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x20))\n }\n\n {\n // s\n\n let memberValue0 := calldata_access_t_bytes32(value, add(value, 0x40))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x40))\n }\n\n }\n\n function abi_encodeUpdatedPos_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr(value0, pos) -> updatedPos {\n abi_encode_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr(value0, pos)\n updatedPos := add(pos, 0x60)\n }\n\n function calldata_access_t_struct$_Signature_$126_calldata_ptr(baseRef, ptr) -> value {\n value := ptr\n }\n\n function array_nextElement_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x60)\n }\n\n // struct Signature[] -> struct Signature[]\n function abi_encode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_struct$_Signature_$126_calldata_ptr(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_struct$_Signature_$126_calldata_ptr_to_t_struct$_Signature_$126_memory_ptr(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_struct$_OracleAttestationData_$106_calldata_ptr_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr__to_t_struct$_OracleAttestationData_$106_memory_ptr_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_OracleAttestationData_$106_calldata_ptr_to_t_struct$_OracleAttestationData_$106_memory_ptr_fromStack(value0, tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_Validator_$131_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$131_memory_ptr_$dyn_memory_ptr_fromStack(value1, value2, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_Signature_$126_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Signature_$126_memory_ptr_$dyn_memory_ptr_fromStack(value3, value4, tail)\n\n }\n\n function revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() {\n revert(0, 0)\n }\n\n function revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() {\n revert(0, 0)\n }\n\n function revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() {\n revert(0, 0)\n }\n\n function access_calldata_tail_t_struct$_ReportData_$119_calldata_ptr(base_ref, ptr_to_tail) -> addr {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n length := calldataload(addr)\n if gt(length, 0xffffffffffffffff) { revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() }\n addr := add(addr, 32)\n if sgt(addr, sub(calldatasize(), mul(length, 0x01))) { revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100575760003560e01c8063413a89b41461005c578063578855b21461007a5780636180801014610098578063aa4dea00146100b4578063bffe07bf146100e5575b600080fd5b610064610103565b604051610071919061032a565b60405180910390f35b610082610110565b60405161008f91906103c4565b60405180910390f35b6100b260048036038101906100ad91906104c8565b610134565b005b6100ce60048036038101906100c991906105a5565b610266565b6040516100dc9291906105d2565b60405180910390f35b6100ed61029a565b6040516100fa9190610639565b60405180910390f35b6000600180549050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635e0d3b0f86868686866040518663ffffffff1660e01b8152600401610195959493929190610b8e565b60006040518083038186803b1580156101ad57600080fd5b505afa1580156101c1573d6000803e3d6000fd5b5050505060008580602001906101d79190610bed565b80600001906101e69190610c15565b8101906101f391906105a5565b9050600160405180604001604052808381526020018880602001906102189190610bed565b60200135815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050505050505050565b6001818154811061027657600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b6102a26102f7565b60018080805490506102b49190610ca7565b815481106102c5576102c4610cdb565b5b906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050905090565b604051806040016040528060008152602001600081525090565b6000819050919050565b61032481610311565b82525050565b600060208201905061033f600083018461031b565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061038a61038561038084610345565b610365565b610345565b9050919050565b600061039c8261036f565b9050919050565b60006103ae82610391565b9050919050565b6103be816103a3565b82525050565b60006020820190506103d960008301846103b5565b92915050565b600080fd5b600080fd5b600080fd5b600060608284031215610404576104036103e9565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126104325761043161040d565b5b8235905067ffffffffffffffff81111561044f5761044e610412565b5b60208301915083604082028301111561046b5761046a610417565b5b9250929050565b60008083601f8401126104885761048761040d565b5b8235905067ffffffffffffffff8111156104a5576104a4610412565b5b6020830191508360608202830111156104c1576104c0610417565b5b9250929050565b6000806000806000606086880312156104e4576104e36103df565b5b600086013567ffffffffffffffff811115610502576105016103e4565b5b61050e888289016103ee565b955050602086013567ffffffffffffffff81111561052f5761052e6103e4565b5b61053b8882890161041c565b9450945050604086013567ffffffffffffffff81111561055e5761055d6103e4565b5b61056a88828901610472565b92509250509295509295909350565b61058281610311565b811461058d57600080fd5b50565b60008135905061059f81610579565b92915050565b6000602082840312156105bb576105ba6103df565b5b60006105c984828501610590565b91505092915050565b60006040820190506105e7600083018561031b565b6105f4602083018461031b565b9392505050565b61060481610311565b82525050565b60408201600082015161062060008501826105fb565b50602082015161063360208501826105fb565b50505050565b600060408201905061064e600083018461060a565b92915050565b6000819050919050565b61066781610654565b811461067257600080fd5b50565b6000813590506106848161065e565b92915050565b60006106996020840184610675565b905092915050565b6106aa81610654565b82525050565b600080fd5b60008235600160c0038336030381126106d1576106d06106b0565b5b82810191505092915050565b600080fd5b600080fd5b60008083356001602003843603038112610704576107036106b0565b5b83810192508235915060208301925067ffffffffffffffff82111561072c5761072b6106dd565b5b600182023603831315610742576107416106e2565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000610787838561074a565b935061079483858461075b565b61079d8361076a565b840190509392505050565b60006107b76020840184610590565b905092915050565b600060c083016107d260008401846106e7565b85830360008701526107e583828461077b565b925050506107f660208401846107a8565b61080360208601826105fb565b5061081160408401846107a8565b61081e60408601826105fb565b5061082c60608401846107a8565b61083960608601826105fb565b5061084760808401846107a8565b61085460808601826105fb565b5061086260a08401846107a8565b61086f60a08601826105fb565b508091505092915050565b60006060830161088d600084018461068a565b61089a60008601826106a1565b506108a860208401846106b5565b84820360208601526108ba82826107bf565b9150506108ca60408401846107a8565b6108d760408601826105fb565b508091505092915050565b600082825260208201905092915050565b6000819050919050565b600061090882610345565b9050919050565b610918816108fd565b811461092357600080fd5b50565b6000813590506109358161090f565b92915050565b600061094a6020840184610926565b905092915050565b61095b816108fd565b82525050565b60408201610972600083018361093b565b61097f6000850182610952565b5061098d60208301836107a8565b61099a60208501826105fb565b50505050565b60006109ac8383610961565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006109dc83856108e2565b93506109e7826108f3565b8060005b85811015610a20576109fd82846109b8565b610a0788826109a0565b9750610a12836109c3565b9250506001810190506109eb565b5085925050509392505050565b600082825260208201905092915050565b6000819050919050565b600060ff82169050919050565b610a5e81610a48565b8114610a6957600080fd5b50565b600081359050610a7b81610a55565b92915050565b6000610a906020840184610a6c565b905092915050565b610aa181610a48565b82525050565b60608201610ab86000830183610a81565b610ac56000850182610a98565b50610ad3602083018361068a565b610ae060208501826106a1565b50610aee604083018361068a565b610afb60408501826106a1565b50505050565b6000610b0d8383610aa7565b60608301905092915050565b600082905092915050565b6000606082019050919050565b6000610b3d8385610a2d565b9350610b4882610a3e565b8060005b85811015610b8157610b5e8284610b19565b610b688882610b01565b9750610b7383610b24565b925050600181019050610b4c565b5085925050509392505050565b60006060820190508181036000830152610ba8818861087a565b90508181036020830152610bbd8186886109d0565b90508181036040830152610bd2818486610b31565b90509695505050505050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112610c0957610c08610bde565b5b80830191505092915050565b60008083356001602003843603038112610c3257610c31610bde565b5b80840192508235915067ffffffffffffffff821115610c5457610c53610be3565b5b602083019250600182023603831315610c7057610c6f610be8565b5b509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610cb282610311565b9150610cbd83610311565b9250828203905081811115610cd557610cd4610c78565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220174690d1e38629ed07a1b806259cb4e0a0ec3625491143806f80de1564fa8e6464736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x413A89B4 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x578855B2 EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x61808010 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0xAA4DEA00 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xBFFE07BF EQ PUSH2 0xE5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x103 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x32A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH2 0x110 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x3C4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x134 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC9 SWAP2 SWAP1 PUSH2 0x5A5 JUMP JUMPDEST PUSH2 0x266 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDC SWAP3 SWAP2 SWAP1 PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xED PUSH2 0x29A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFA SWAP2 SWAP1 PUSH2 0x639 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5E0D3B0F DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x195 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB8E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1C1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x0 DUP6 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1D7 SWAP2 SWAP1 PUSH2 0xBED JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x1E6 SWAP2 SWAP1 PUSH2 0xC15 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0x5A5 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP9 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x218 SWAP2 SWAP1 PUSH2 0xBED JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH2 0x2A2 PUSH2 0x2F7 JUMP JUMPDEST PUSH1 0x1 DUP1 DUP1 DUP1 SLOAD SWAP1 POP PUSH2 0x2B4 SWAP2 SWAP1 PUSH2 0xCA7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2C5 JUMPI PUSH2 0x2C4 PUSH2 0xCDB JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x324 DUP2 PUSH2 0x311 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x33F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x31B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38A PUSH2 0x385 PUSH2 0x380 DUP5 PUSH2 0x345 JUMP JUMPDEST PUSH2 0x365 JUMP JUMPDEST PUSH2 0x345 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39C DUP3 PUSH2 0x36F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3AE DUP3 PUSH2 0x391 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3BE DUP2 PUSH2 0x3A3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3D9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3B5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x404 JUMPI PUSH2 0x403 PUSH2 0x3E9 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x432 JUMPI PUSH2 0x431 PUSH2 0x40D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x44F JUMPI PUSH2 0x44E PUSH2 0x412 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x46B JUMPI PUSH2 0x46A PUSH2 0x417 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x488 JUMPI PUSH2 0x487 PUSH2 0x40D JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4A5 JUMPI PUSH2 0x4A4 PUSH2 0x412 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x4C1 JUMPI PUSH2 0x4C0 PUSH2 0x417 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4E4 JUMPI PUSH2 0x4E3 PUSH2 0x3DF JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x502 JUMPI PUSH2 0x501 PUSH2 0x3E4 JUMP JUMPDEST JUMPDEST PUSH2 0x50E DUP9 DUP3 DUP10 ADD PUSH2 0x3EE JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x52F JUMPI PUSH2 0x52E PUSH2 0x3E4 JUMP JUMPDEST JUMPDEST PUSH2 0x53B DUP9 DUP3 DUP10 ADD PUSH2 0x41C JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x55E JUMPI PUSH2 0x55D PUSH2 0x3E4 JUMP JUMPDEST JUMPDEST PUSH2 0x56A DUP9 DUP3 DUP10 ADD PUSH2 0x472 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x582 DUP2 PUSH2 0x311 JUMP JUMPDEST DUP2 EQ PUSH2 0x58D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x59F DUP2 PUSH2 0x579 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5BB JUMPI PUSH2 0x5BA PUSH2 0x3DF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5C9 DUP5 DUP3 DUP6 ADD PUSH2 0x590 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x5E7 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x31B JUMP JUMPDEST PUSH2 0x5F4 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x31B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x604 DUP2 PUSH2 0x311 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x620 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x633 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x64E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x60A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x667 DUP2 PUSH2 0x654 JUMP JUMPDEST DUP2 EQ PUSH2 0x672 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x684 DUP2 PUSH2 0x65E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x699 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x675 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x6AA DUP2 PUSH2 0x654 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x6D1 JUMPI PUSH2 0x6D0 PUSH2 0x6B0 JUMP JUMPDEST JUMPDEST DUP3 DUP2 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x704 JUMPI PUSH2 0x703 PUSH2 0x6B0 JUMP JUMPDEST JUMPDEST DUP4 DUP2 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x72C JUMPI PUSH2 0x72B PUSH2 0x6DD JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x742 JUMPI PUSH2 0x741 PUSH2 0x6E2 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x787 DUP4 DUP6 PUSH2 0x74A JUMP JUMPDEST SWAP4 POP PUSH2 0x794 DUP4 DUP6 DUP5 PUSH2 0x75B JUMP JUMPDEST PUSH2 0x79D DUP4 PUSH2 0x76A JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7B7 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x590 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP4 ADD PUSH2 0x7D2 PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x6E7 JUMP JUMPDEST DUP6 DUP4 SUB PUSH1 0x0 DUP8 ADD MSTORE PUSH2 0x7E5 DUP4 DUP3 DUP5 PUSH2 0x77B JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x7F6 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x803 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x811 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x81E PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x82C PUSH1 0x60 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x839 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x847 PUSH1 0x80 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x854 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP PUSH2 0x862 PUSH1 0xA0 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x86F PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH2 0x88D PUSH1 0x0 DUP5 ADD DUP5 PUSH2 0x68A JUMP JUMPDEST PUSH2 0x89A PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x6A1 JUMP JUMPDEST POP PUSH2 0x8A8 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x6B5 JUMP JUMPDEST DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x8BA DUP3 DUP3 PUSH2 0x7BF JUMP JUMPDEST SWAP2 POP POP PUSH2 0x8CA PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x8D7 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x908 DUP3 PUSH2 0x345 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x918 DUP2 PUSH2 0x8FD JUMP JUMPDEST DUP2 EQ PUSH2 0x923 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x935 DUP2 PUSH2 0x90F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x94A PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x926 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x95B DUP2 PUSH2 0x8FD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0x972 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x93B JUMP JUMPDEST PUSH2 0x97F PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x952 JUMP JUMPDEST POP PUSH2 0x98D PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x7A8 JUMP JUMPDEST PUSH2 0x99A PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x5FB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9AC DUP4 DUP4 PUSH2 0x961 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9DC DUP4 DUP6 PUSH2 0x8E2 JUMP JUMPDEST SWAP4 POP PUSH2 0x9E7 DUP3 PUSH2 0x8F3 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xA20 JUMPI PUSH2 0x9FD DUP3 DUP5 PUSH2 0x9B8 JUMP JUMPDEST PUSH2 0xA07 DUP9 DUP3 PUSH2 0x9A0 JUMP JUMPDEST SWAP8 POP PUSH2 0xA12 DUP4 PUSH2 0x9C3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x9EB JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA5E DUP2 PUSH2 0xA48 JUMP JUMPDEST DUP2 EQ PUSH2 0xA69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA7B DUP2 PUSH2 0xA55 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA90 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xA6C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAA1 DUP2 PUSH2 0xA48 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 ADD PUSH2 0xAB8 PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0xA81 JUMP JUMPDEST PUSH2 0xAC5 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0xA98 JUMP JUMPDEST POP PUSH2 0xAD3 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x68A JUMP JUMPDEST PUSH2 0xAE0 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x6A1 JUMP JUMPDEST POP PUSH2 0xAEE PUSH1 0x40 DUP4 ADD DUP4 PUSH2 0x68A JUMP JUMPDEST PUSH2 0xAFB PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x6A1 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0D DUP4 DUP4 PUSH2 0xAA7 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB3D DUP4 DUP6 PUSH2 0xA2D JUMP JUMPDEST SWAP4 POP PUSH2 0xB48 DUP3 PUSH2 0xA3E JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xB81 JUMPI PUSH2 0xB5E DUP3 DUP5 PUSH2 0xB19 JUMP JUMPDEST PUSH2 0xB68 DUP9 DUP3 PUSH2 0xB01 JUMP JUMPDEST SWAP8 POP PUSH2 0xB73 DUP4 PUSH2 0xB24 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xB4C JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xBA8 DUP2 DUP9 PUSH2 0x87A JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xBBD DUP2 DUP7 DUP9 PUSH2 0x9D0 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xBD2 DUP2 DUP5 DUP7 PUSH2 0xB31 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xC09 JUMPI PUSH2 0xC08 PUSH2 0xBDE JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xC32 JUMPI PUSH2 0xC31 PUSH2 0xBDE JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xC54 JUMPI PUSH2 0xC53 PUSH2 0xBE3 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xC70 JUMPI PUSH2 0xC6F PUSH2 0xBE8 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xCB2 DUP3 PUSH2 0x311 JUMP JUMPDEST SWAP2 POP PUSH2 0xCBD DUP4 PUSH2 0x311 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xCD5 JUMPI PUSH2 0xCD4 PUSH2 0xC78 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR CHAINID SWAP1 0xD1 0xE3 DUP7 0x29 0xED SMOD LOG1 0xB8 MOD 0x25 SWAP13 0xB4 0xE0 LOG0 0xEC CALLDATASIZE 0x25 0x49 GT NUMBER DUP1 PUSH16 0x80DE1564FA8E6464736F6C6343000813 STOP CALLER ","sourceMap":"103:1029:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1032:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;133:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;439:450;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;174:30;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;895:131;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1032:98;1080:7;1106:10;:17;;;;1099:24;;1032:98;:::o;133:35::-;;;;;;;;;;;;:::o;439:450::-;629:10;;;;;;;;;;:27;;;657:11;670:20;;692:5;;629:69;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;708:14;736:11;:18;;;;;;;;:::i;:::-;:24;;;;;;;;:::i;:::-;725:47;;;;;;;:::i;:::-;708:64;;782:10;798:83;;;;;;;;822:6;798:83;;;;843:11;:18;;;;;;;;:::i;:::-;:28;;;798:83;;;782:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;619:270;439:450;;;;;:::o;174:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;895:131::-;950:17;;:::i;:::-;986:10;1017:1;997:10;:17;;;;:21;;;;:::i;:::-;986:33;;;;;;;;:::i;:::-;;;;;;;;;;;;979:40;;;;;;;;;;;;;;;;;;;;;;;;;;;895:131;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;7:77:4:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:126::-;479:7;519:42;512:5;508:54;497:65;;442:126;;;:::o;574:60::-;602:3;623:5;616:12;;574:60;;;:::o;640:142::-;690:9;723:53;741:34;750:24;768:5;750:24;:::i;:::-;741:34;:::i;:::-;723:53;:::i;:::-;710:66;;640:142;;;:::o;788:126::-;838:9;871:37;902:5;871:37;:::i;:::-;858:50;;788:126;;;:::o;920:151::-;995:9;1028:37;1059:5;1028:37;:::i;:::-;1015:50;;920:151;;;:::o;1077:181::-;1189:62;1245:5;1189:62;:::i;:::-;1184:3;1177:75;1077:181;;:::o;1264:272::-;1382:4;1420:2;1409:9;1405:18;1397:26;;1433:96;1526:1;1515:9;1511:17;1502:6;1433:96;:::i;:::-;1264:272;;;;:::o;1623:117::-;1732:1;1729;1722:12;1746:117;1855:1;1852;1845:12;1869:117;1978:1;1975;1968:12;2028:244;2114:5;2155:2;2146:6;2141:3;2137:16;2133:25;2130:112;;;2161:79;;:::i;:::-;2130:112;2260:6;2251:15;;2028:244;;;;:::o;2278:117::-;2387:1;2384;2377:12;2401:117;2510:1;2507;2500:12;2524:117;2633:1;2630;2623:12;2673:596;2774:8;2784:6;2834:3;2827:4;2819:6;2815:17;2811:27;2801:122;;2842:79;;:::i;:::-;2801:122;2955:6;2942:20;2932:30;;2985:18;2977:6;2974:30;2971:117;;;3007:79;;:::i;:::-;2971:117;3121:4;3113:6;3109:17;3097:29;;3175:3;3167:4;3159:6;3155:17;3145:8;3141:32;3138:41;3135:128;;;3182:79;;:::i;:::-;3135:128;2673:596;;;;;:::o;3301:::-;3402:8;3412:6;3462:3;3455:4;3447:6;3443:17;3439:27;3429:122;;3470:79;;:::i;:::-;3429:122;3583:6;3570:20;3560:30;;3613:18;3605:6;3602:30;3599:117;;;3635:79;;:::i;:::-;3599:117;3749:4;3741:6;3737:17;3725:29;;3803:3;3795:4;3787:6;3783:17;3773:8;3769:32;3766:41;3763:128;;;3810:79;;:::i;:::-;3763:128;3301:596;;;;;:::o;3903:1431::-;4130:6;4138;4146;4154;4162;4211:2;4199:9;4190:7;4186:23;4182:32;4179:119;;;4217:79;;:::i;:::-;4179:119;4365:1;4354:9;4350:17;4337:31;4395:18;4387:6;4384:30;4381:117;;;4417:79;;:::i;:::-;4381:117;4522:93;4607:7;4598:6;4587:9;4583:22;4522:93;:::i;:::-;4512:103;;4308:317;4692:2;4681:9;4677:18;4664:32;4723:18;4715:6;4712:30;4709:117;;;4745:79;;:::i;:::-;4709:117;4858:108;4958:7;4949:6;4938:9;4934:22;4858:108;:::i;:::-;4840:126;;;;4635:341;5043:2;5032:9;5028:18;5015:32;5074:18;5066:6;5063:30;5060:117;;;5096:79;;:::i;:::-;5060:117;5209:108;5309:7;5300:6;5289:9;5285:22;5209:108;:::i;:::-;5191:126;;;;4986:341;3903:1431;;;;;;;;:::o;5340:122::-;5413:24;5431:5;5413:24;:::i;:::-;5406:5;5403:35;5393:63;;5452:1;5449;5442:12;5393:63;5340:122;:::o;5468:139::-;5514:5;5552:6;5539:20;5530:29;;5568:33;5595:5;5568:33;:::i;:::-;5468:139;;;;:::o;5613:329::-;5672:6;5721:2;5709:9;5700:7;5696:23;5692:32;5689:119;;;5727:79;;:::i;:::-;5689:119;5847:1;5872:53;5917:7;5908:6;5897:9;5893:22;5872:53;:::i;:::-;5862:63;;5818:117;5613:329;;;;:::o;5948:332::-;6069:4;6107:2;6096:9;6092:18;6084:26;;6120:71;6188:1;6177:9;6173:17;6164:6;6120:71;:::i;:::-;6201:72;6269:2;6258:9;6254:18;6245:6;6201:72;:::i;:::-;5948:332;;;;;:::o;6286:108::-;6363:24;6381:5;6363:24;:::i;:::-;6358:3;6351:37;6286:108;;:::o;6476:515::-;6625:4;6620:3;6616:14;6713:4;6706:5;6702:16;6696:23;6732:63;6789:4;6784:3;6780:14;6766:12;6732:63;:::i;:::-;6640:165;6892:4;6885:5;6881:16;6875:23;6911:63;6968:4;6963:3;6959:14;6945:12;6911:63;:::i;:::-;6815:169;6594:397;6476:515;;:::o;6997:326::-;7142:4;7180:2;7169:9;7165:18;7157:26;;7193:123;7313:1;7302:9;7298:17;7289:6;7193:123;:::i;:::-;6997:326;;;;:::o;7329:77::-;7366:7;7395:5;7384:16;;7329:77;;;:::o;7412:122::-;7485:24;7503:5;7485:24;:::i;:::-;7478:5;7475:35;7465:63;;7524:1;7521;7514:12;7465:63;7412:122;:::o;7540:139::-;7586:5;7624:6;7611:20;7602:29;;7640:33;7667:5;7640:33;:::i;:::-;7540:139;;;;:::o;7685:122::-;7737:5;7762:39;7797:2;7792:3;7788:12;7783:3;7762:39;:::i;:::-;7753:48;;7685:122;;;;:::o;7813:108::-;7890:24;7908:5;7890:24;:::i;:::-;7885:3;7878:37;7813:108;;:::o;7927:117::-;8036:1;8033;8026:12;8050:376;8132:5;8187:3;8174:17;8279:1;8273:4;8269:12;8258:8;8242:14;8238:29;8234:48;8214:18;8210:73;8200:168;;8287:79;;:::i;:::-;8200:168;8410:8;8390:18;8386:33;8377:42;;8138:288;8050:376;;;;:::o;8432:117::-;8541:1;8538;8531:12;8555:117;8664:1;8661;8654:12;8678:711;8742:5;8749:6;8805:3;8792:17;8897:1;8891:4;8887:12;8876:8;8860:14;8856:29;8852:48;8832:18;8828:73;8818:168;;8905:79;;:::i;:::-;8818:168;9028:8;9008:18;9004:33;8995:42;;9070:5;9057:19;9047:29;;9105:4;9098:5;9094:16;9085:25;;9133:18;9125:6;9122:30;9119:117;;;9155:79;;:::i;:::-;9119:117;9291:4;9283:6;9279:17;9263:14;9259:38;9252:5;9248:50;9245:137;;;9301:79;;:::i;:::-;9245:137;8756:633;8678:711;;;;;:::o;9395:158::-;9468:11;9502:6;9497:3;9490:19;9542:4;9537:3;9533:14;9518:29;;9395:158;;;;:::o;9559:146::-;9656:6;9651:3;9646;9633:30;9697:1;9688:6;9683:3;9679:16;9672:27;9559:146;;;:::o;9711:102::-;9752:6;9803:2;9799:7;9794:2;9787:5;9783:14;9779:28;9769:38;;9711:102;;;:::o;9841:294::-;9927:3;9948:60;10001:6;9996:3;9948:60;:::i;:::-;9941:67;;10018:56;10067:6;10062:3;10055:5;10018:56;:::i;:::-;10099:29;10121:6;10099:29;:::i;:::-;10094:3;10090:39;10083:46;;9841:294;;;;;:::o;10141:122::-;10193:5;10218:39;10253:2;10248:3;10244:12;10239:3;10218:39;:::i;:::-;10209:48;;10141:122;;;;:::o;10315:1555::-;10430:3;10466:4;10461:3;10457:14;10551:61;10606:4;10599:5;10595:16;10588:5;10551:61;:::i;:::-;10659:3;10653:4;10649:14;10642:4;10637:3;10633:14;10626:38;10685:87;10767:4;10753:12;10739;10685:87;:::i;:::-;10677:95;;10481:302;;10853:50;10897:4;10890:5;10886:16;10879:5;10853:50;:::i;:::-;10916:63;10973:4;10968:3;10964:14;10950:12;10916:63;:::i;:::-;10793:196;11064:50;11108:4;11101:5;11097:16;11090:5;11064:50;:::i;:::-;11127:63;11184:4;11179:3;11175:14;11161:12;11127:63;:::i;:::-;10999:201;11278:50;11322:4;11315:5;11311:16;11304:5;11278:50;:::i;:::-;11341:63;11398:4;11393:3;11389:14;11375:12;11341:63;:::i;:::-;11210:204;11488:50;11532:4;11525:5;11521:16;11514:5;11488:50;:::i;:::-;11551:63;11608:4;11603:3;11599:14;11585:12;11551:63;:::i;:::-;11424:200;11707:50;11751:4;11744:5;11740:16;11733:5;11707:50;:::i;:::-;11770:63;11827:4;11822:3;11818:14;11804:12;11770:63;:::i;:::-;11634:209;11860:4;11853:11;;10435:1435;10315:1555;;;;:::o;11944:975::-;12091:3;12127:4;12122:3;12118:14;12200:50;12244:4;12237:5;12233:16;12226:5;12200:50;:::i;:::-;12263:63;12320:4;12315:3;12311:14;12297:12;12263:63;:::i;:::-;12142:194;12403:79;12476:4;12469:5;12465:16;12458:5;12403:79;:::i;:::-;12529:3;12523:4;12519:14;12512:4;12507:3;12503:14;12496:38;12555:109;12659:4;12645:12;12555:109;:::i;:::-;12547:117;;12346:329;12756:50;12800:4;12793:5;12789:16;12782:5;12756:50;:::i;:::-;12819:63;12876:4;12871:3;12867:14;12853:12;12819:63;:::i;:::-;12685:207;12909:4;12902:11;;12096:823;11944:975;;;;:::o;12925:210::-;13050:11;13084:6;13079:3;13072:19;13124:4;13119:3;13115:14;13100:29;;12925:210;;;;:::o;13141:130::-;13238:4;13261:3;13253:11;;13141:130;;;:::o;13277:96::-;13314:7;13343:24;13361:5;13343:24;:::i;:::-;13332:35;;13277:96;;;:::o;13379:122::-;13452:24;13470:5;13452:24;:::i;:::-;13445:5;13442:35;13432:63;;13491:1;13488;13481:12;13432:63;13379:122;:::o;13507:139::-;13553:5;13591:6;13578:20;13569:29;;13607:33;13634:5;13607:33;:::i;:::-;13507:139;;;;:::o;13652:122::-;13704:5;13729:39;13764:2;13759:3;13755:12;13750:3;13729:39;:::i;:::-;13720:48;;13652:122;;;;:::o;13780:108::-;13857:24;13875:5;13857:24;:::i;:::-;13852:3;13845:37;13780:108;;:::o;13938:556::-;14079:4;14074:3;14070:14;14149:50;14193:4;14186:5;14182:16;14175:5;14149:50;:::i;:::-;14212:63;14269:4;14264:3;14260:14;14246:12;14212:63;:::i;:::-;14094:191;14351:50;14395:4;14388:5;14384:16;14377:5;14351:50;:::i;:::-;14414:63;14471:4;14466:3;14462:14;14448:12;14414:63;:::i;:::-;14295:192;14048:446;13938:556;;:::o;14500:287::-;14623:10;14644:100;14740:3;14732:6;14644:100;:::i;:::-;14776:4;14771:3;14767:14;14753:28;;14500:287;;;;:::o;14793:114::-;14873:5;14898:3;14889:12;;14793:114;;;;:::o;14913:143::-;15013:4;15045;15040:3;15036:14;15028:22;;14913:143;;;:::o;15110:917::-;15293:3;15316:112;15421:6;15416:3;15316:112;:::i;:::-;15309:119;;15452:86;15532:5;15452:86;:::i;:::-;15561:7;15592:1;15577:425;15602:6;15599:1;15596:13;15577:425;;;15672:70;15735:6;15726:7;15672:70;:::i;:::-;15762:117;15875:3;15860:13;15762:117;:::i;:::-;15755:124;;15902:90;15985:6;15902:90;:::i;:::-;15892:100;;15637:365;15624:1;15621;15617:9;15612:14;;15577:425;;;15581:14;16018:3;16011:10;;15298:729;;15110:917;;;;;:::o;16033:210::-;16158:11;16192:6;16187:3;16180:19;16232:4;16227:3;16223:14;16208:29;;16033:210;;;;:::o;16249:130::-;16346:4;16369:3;16361:11;;16249:130;;;:::o;16385:86::-;16420:7;16460:4;16453:5;16449:16;16438:27;;16385:86;;;:::o;16477:118::-;16548:22;16564:5;16548:22;:::i;:::-;16541:5;16538:33;16528:61;;16585:1;16582;16575:12;16528:61;16477:118;:::o;16601:135::-;16645:5;16683:6;16670:20;16661:29;;16699:31;16724:5;16699:31;:::i;:::-;16601:135;;;;:::o;16742:118::-;16792:5;16817:37;16850:2;16845:3;16841:12;16836:3;16817:37;:::i;:::-;16808:46;;16742:118;;;;:::o;16866:102::-;16939:22;16955:5;16939:22;:::i;:::-;16934:3;16927:35;16866:102;;:::o;17018:741::-;17159:4;17154:3;17150:14;17226:48;17268:4;17261:5;17257:16;17250:5;17226:48;:::i;:::-;17287:59;17340:4;17335:3;17331:14;17317:12;17287:59;:::i;:::-;17174:182;17418:50;17462:4;17455:5;17451:16;17444:5;17418:50;:::i;:::-;17481:63;17538:4;17533:3;17529:14;17515:12;17481:63;:::i;:::-;17366:188;17616:50;17660:4;17653:5;17649:16;17642:5;17616:50;:::i;:::-;17679:63;17736:4;17731:3;17727:14;17713:12;17679:63;:::i;:::-;17564:188;17128:631;17018:741;;:::o;17765:287::-;17888:10;17909:100;18005:3;17997:6;17909:100;:::i;:::-;18041:4;18036:3;18032:14;18018:28;;17765:287;;;;:::o;18058:114::-;18138:5;18163:3;18154:12;;18058:114;;;;:::o;18178:143::-;18278:4;18310;18305:3;18301:14;18293:22;;18178:143;;;:::o;18375:917::-;18558:3;18581:112;18686:6;18681:3;18581:112;:::i;:::-;18574:119;;18717:86;18797:5;18717:86;:::i;:::-;18826:7;18857:1;18842:425;18867:6;18864:1;18861:13;18842:425;;;18937:70;19000:6;18991:7;18937:70;:::i;:::-;19027:117;19140:3;19125:13;19027:117;:::i;:::-;19020:124;;19167:90;19250:6;19167:90;:::i;:::-;19157:100;;18902:365;18889:1;18886;18882:9;18877:14;;18842:425;;;18846:14;19283:3;19276:10;;18563:729;;18375:917;;;;;:::o;19298:1207::-;19753:4;19791:2;19780:9;19776:18;19768:26;;19840:9;19834:4;19830:20;19826:1;19815:9;19811:17;19804:47;19868:136;19999:4;19990:6;19868:136;:::i;:::-;19860:144;;20051:9;20045:4;20041:20;20036:2;20025:9;20021:18;20014:48;20079:172;20246:4;20237:6;20229;20079:172;:::i;:::-;20071:180;;20298:9;20292:4;20288:20;20283:2;20272:9;20268:18;20261:48;20326:172;20493:4;20484:6;20476;20326:172;:::i;:::-;20318:180;;19298:1207;;;;;;;;:::o;20511:117::-;20620:1;20617;20610:12;20634:117;20743:1;20740;20733:12;20757:117;20866:1;20863;20856:12;20880:395;20975:4;21029:11;21016:25;21129:1;21123:4;21119:12;21108:8;21092:14;21088:29;21084:48;21064:18;21060:73;21050:168;;21137:79;;:::i;:::-;21050:168;21249:18;21239:8;21235:33;21227:41;;20980:295;20880:395;;;;:::o;21281:724::-;21358:4;21364:6;21420:11;21407:25;21520:1;21514:4;21510:12;21499:8;21483:14;21479:29;21475:48;21455:18;21451:73;21441:168;;21528:79;;:::i;:::-;21441:168;21640:18;21630:8;21626:33;21618:41;;21692:4;21679:18;21669:28;;21720:18;21712:6;21709:30;21706:117;;;21742:79;;:::i;:::-;21706:117;21850:2;21844:4;21840:13;21832:21;;21907:4;21899:6;21895:17;21879:14;21875:38;21869:4;21865:49;21862:136;;;21917:79;;:::i;:::-;21862:136;21371:634;21281:724;;;;;:::o;22011:180::-;22059:77;22056:1;22049:88;22156:4;22153:1;22146:15;22180:4;22177:1;22170:15;22197:194;22237:4;22257:20;22275:1;22257:20;:::i;:::-;22252:25;;22291:20;22309:1;22291:20;:::i;:::-;22286:25;;22335:1;22332;22328:9;22320:17;;22359:1;22353:4;22350:11;22347:37;;;22364:18;;:::i;:::-;22347:37;22197:194;;;;:::o;22397:180::-;22445:77;22442:1;22435:88;22542:4;22539:1;22532:15;22566:4;22563:1;22556:15"},"methodIdentifiers":{"dataBridge()":"578855b2","getCurrentOracleData()":"bffe07bf","getValueCount()":"413a89b4","oracleData(uint256)":"aa4dea00","updateOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"61808010"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dataBridge\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"dataBridge\",\"outputs\":[{\"internalType\":\"contract ITellorDataBridge\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentOracleData\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct YoloTellorUser.OracleData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"oracleData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"updateOracleData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/YoloTellorUser.sol\":\"YoloTellorUser\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/YoloTellorUser.sol\":{\"keccak256\":\"0x0d052ed6857fbd274e7cbaaa1179aa64432fa5cb7028a22ebd530c36f23b2cc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85023e30ed87117f2778b64bff925df2fdfb17e7c647c601efc22a5bd1516480\",\"dweb:/ipfs/QmVpxwx1mzcGBvoBQGU2ZcQ1CDUdLA7z1eG3wDKGwupUTP\"]},\"contracts/interfaces/ITellorDataBridge.sol\":{\"keccak256\":\"0xe63280ed178d0751b9eba8be5c98a7c1587fcf728c8c2cb2f9d261fc4a650d0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a16c3e825c0ad4eb206765656249fb21f3fbe23eb6ad64dac036eb084f215d9\",\"dweb:/ipfs/QmV3de6xCgd864FEhjbiPyTUNhYgB4hPAvwEu8koYoZHwG\"]}},\"version\":1}"}},"contracts/interfaces/ITellorDataBridge.sol":{"ITellorDataBridge":{"abi":[{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"powerThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unbondingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"validatorTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"verifyOracleData","outputs":[],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"guardian()":"452a9320","powerThreshold()":"ba95ec27","unbondingPeriod()":"6cf6d675","validatorTimestamp()":"4f76f1ee","verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"5e0d3b0f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"guardian\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"powerThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unbondingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validatorTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"verifyOracleData\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/ITellorDataBridge.sol\":\"ITellorDataBridge\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/ITellorDataBridge.sol\":{\"keccak256\":\"0xe63280ed178d0751b9eba8be5c98a7c1587fcf728c8c2cb2f9d261fc4a650d0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a16c3e825c0ad4eb206765656249fb21f3fbe23eb6ad64dac036eb084f215d9\",\"dweb:/ipfs/QmV3de6xCgd864FEhjbiPyTUNhYgB4hPAvwEu8koYoZHwG\"]}},\"version\":1}"}},"contracts/testing/bridge/ECDSA.sol":{"ECDSA":{"abi":[{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220a7d372f3953d1c8a8d037e598383e4dd43055a0d4ba385226c2c76194018693464736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA7 0xD3 PUSH19 0xF3953D1C8A8D037E598383E4DD43055A0D4BA3 DUP6 0x22 PUSH13 0x2C76194018693464736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"342:8967:2:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"6080604052600080fdfea2646970667358221220a7d372f3953d1c8a8d037e598383e4dd43055a0d4ba385226c2c76194018693464736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA7 0xD3 PUSH19 0xF3953D1C8A8D037E598383E4DD43055A0D4BA3 DUP6 0x22 PUSH13 0x2C76194018693464736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"342:8967:2:-:0;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testing/bridge/ECDSA.sol\":\"ECDSA\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testing/bridge/ECDSA.sol\":{\"keccak256\":\"0xd3cf86f8b73deb230943786cb7c5036b2b602fc3f7dc43f6cd1c06511831b8eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cc6bb20c5239f6073c18604af3fc04c764984615a37d74b9cb24896465cb3c3\",\"dweb:/ipfs/QmPEMsTWcdXp6uAiPHiQGTCPCUsv161UvYZFGECJudFFoA\"]}},\"version\":1}"}},"contracts/testing/bridge/TellorDataBridge.sol":{"TellorDataBridge":{"abi":[{"inputs":[{"internalType":"address","name":"_guardian","type":"address"},{"internalType":"bytes32","name":"_validatorSetHashDomainSeparator","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyInitialized","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[],"name":"InsufficientVotingPower","type":"error"},{"inputs":[],"name":"InvalidPowerThreshold","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"MalformedCurrentValidatorSet","type":"error"},{"inputs":[],"name":"NotDeployer","type":"error"},{"inputs":[],"name":"NotGuardian","type":"error"},{"inputs":[],"name":"StaleValidatorSet","type":"error"},{"inputs":[],"name":"SuppliedValidatorSetInvalid","type":"error"},{"inputs":[],"name":"ValidatorSetNotStale","type":"error"},{"inputs":[],"name":"ValidatorTimestampMustIncrease","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"_validatorSetHash","type":"bytes32"}],"name":"GuardianResetValidatorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"_validatorSetHash","type":"bytes32"}],"name":"ValidatorSetUpdated","type":"event"},{"inputs":[],"name":"MS_PER_SECOND","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"internalType":"bytes32","name":"_validatorSetCheckpoint","type":"bytes32"}],"name":"guardianResetValidatorSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_powerThreshold","type":"uint256"},{"internalType":"uint256","name":"_validatorTimestamp","type":"uint256"},{"internalType":"uint256","name":"_unbondingPeriod","type":"uint256"},{"internalType":"bytes32","name":"_validatorSetCheckpoint","type":"bytes32"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastValidatorSetCheckpoint","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"powerThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unbondingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_newValidatorSetHash","type":"bytes32"},{"internalType":"uint64","name":"_newPowerThreshold","type":"uint64"},{"internalType":"uint256","name":"_newValidatorTimestamp","type":"uint256"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"updateValidatorSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"validatorTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"verifyOracleData","outputs":[],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_653":{"entryPoint":null,"id":653,"parameterSlots":2,"returnSlots":0},"abi_decode_t_address_fromMemory":{"entryPoint":283,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":342,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes32_fromMemory":{"entryPoint":365,"id":null,"parameterSlots":2,"returnSlots":2},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"cleanup_t_address":{"entryPoint":237,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":306,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":205,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":200,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_t_address":{"entryPoint":257,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":316,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1715:4","statements":[{"body":{"nodeType":"YulBlock","src":"47:35:4","statements":[{"nodeType":"YulAssignment","src":"57:19:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"73:2:4","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"67:5:4"},"nodeType":"YulFunctionCall","src":"67:9:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"57:6:4"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"40:6:4","type":""}],"src":"7:75:4"},{"body":{"nodeType":"YulBlock","src":"177:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"194:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"197:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"187:6:4"},"nodeType":"YulFunctionCall","src":"187:12:4"},"nodeType":"YulExpressionStatement","src":"187:12:4"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"88:117:4"},{"body":{"nodeType":"YulBlock","src":"300:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:4"},"nodeType":"YulFunctionCall","src":"310:12:4"},"nodeType":"YulExpressionStatement","src":"310:12:4"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"211:117:4"},{"body":{"nodeType":"YulBlock","src":"379:81:4","statements":[{"nodeType":"YulAssignment","src":"389:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"404:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"411:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"400:3:4"},"nodeType":"YulFunctionCall","src":"400:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"389:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"361:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"371:7:4","type":""}],"src":"334:126:4"},{"body":{"nodeType":"YulBlock","src":"511:51:4","statements":[{"nodeType":"YulAssignment","src":"521:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"550:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"532:17:4"},"nodeType":"YulFunctionCall","src":"532:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"521:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"493:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"503:7:4","type":""}],"src":"466:96:4"},{"body":{"nodeType":"YulBlock","src":"611:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"668:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"677:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"680:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"670:6:4"},"nodeType":"YulFunctionCall","src":"670:12:4"},"nodeType":"YulExpressionStatement","src":"670:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"634:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"659:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"641:17:4"},"nodeType":"YulFunctionCall","src":"641:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"631:2:4"},"nodeType":"YulFunctionCall","src":"631:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"624:6:4"},"nodeType":"YulFunctionCall","src":"624:43:4"},"nodeType":"YulIf","src":"621:63:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"604:5:4","type":""}],"src":"568:122:4"},{"body":{"nodeType":"YulBlock","src":"759:80:4","statements":[{"nodeType":"YulAssignment","src":"769:22:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"784:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"778:5:4"},"nodeType":"YulFunctionCall","src":"778:13:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"769:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"827:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"800:26:4"},"nodeType":"YulFunctionCall","src":"800:33:4"},"nodeType":"YulExpressionStatement","src":"800:33:4"}]},"name":"abi_decode_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"737:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"745:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"753:5:4","type":""}],"src":"696:143:4"},{"body":{"nodeType":"YulBlock","src":"890:32:4","statements":[{"nodeType":"YulAssignment","src":"900:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"911:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"900:7:4"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"872:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"882:7:4","type":""}],"src":"845:77:4"},{"body":{"nodeType":"YulBlock","src":"971:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"1028:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1040:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1030:6:4"},"nodeType":"YulFunctionCall","src":"1030:12:4"},"nodeType":"YulExpressionStatement","src":"1030:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"994:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1019:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"1001:17:4"},"nodeType":"YulFunctionCall","src":"1001:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"991:2:4"},"nodeType":"YulFunctionCall","src":"991:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"984:6:4"},"nodeType":"YulFunctionCall","src":"984:43:4"},"nodeType":"YulIf","src":"981:63:4"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"964:5:4","type":""}],"src":"928:122:4"},{"body":{"nodeType":"YulBlock","src":"1119:80:4","statements":[{"nodeType":"YulAssignment","src":"1129:22:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1144:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1138:5:4"},"nodeType":"YulFunctionCall","src":"1138:13:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1129:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1187:5:4"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"1160:26:4"},"nodeType":"YulFunctionCall","src":"1160:33:4"},"nodeType":"YulExpressionStatement","src":"1160:33:4"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1097:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"1105:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1113:5:4","type":""}],"src":"1056:143:4"},{"body":{"nodeType":"YulBlock","src":"1299:413:4","statements":[{"body":{"nodeType":"YulBlock","src":"1345:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1347:77:4"},"nodeType":"YulFunctionCall","src":"1347:79:4"},"nodeType":"YulExpressionStatement","src":"1347:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1320:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1329:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1316:3:4"},"nodeType":"YulFunctionCall","src":"1316:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1341:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1312:3:4"},"nodeType":"YulFunctionCall","src":"1312:32:4"},"nodeType":"YulIf","src":"1309:119:4"},{"nodeType":"YulBlock","src":"1438:128:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1453:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1467:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1457:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1482:74:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1528:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1539:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1524:3:4"},"nodeType":"YulFunctionCall","src":"1524:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1548:7:4"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nodeType":"YulIdentifier","src":"1492:31:4"},"nodeType":"YulFunctionCall","src":"1492:64:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1482:6:4"}]}]},{"nodeType":"YulBlock","src":"1576:129:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1591:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1605:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1595:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1621:74:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1667:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1678:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1663:3:4"},"nodeType":"YulFunctionCall","src":"1663:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1687:7:4"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"1631:31:4"},"nodeType":"YulFunctionCall","src":"1631:64:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1621:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1261:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1272:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1284:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1292:6:4","type":""}],"src":"1205:507:4"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_addresst_bytes32_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a06040523480156200001157600080fd5b5060405162001c0138038062001c0183398181016040528101906200003791906200016d565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080608081815250505050620001b4565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000fa82620000cd565b9050919050565b6200010c81620000ed565b81146200011857600080fd5b50565b6000815190506200012c8162000101565b92915050565b6000819050919050565b620001478162000132565b81146200015357600080fd5b50565b60008151905062000167816200013c565b92915050565b60008060408385031215620001875762000186620000c8565b5b600062000197858286016200011b565b9250506020620001aa8582860162000156565b9150509250929050565b608051611a2a620001d7600039600081816108bf015261093e0152611a2a6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636cf6d6751161008c578063af082a7d11610066578063af082a7d14610213578063ba95ec2714610231578063bd7c31531461024f578063d5f394881461026d576100ea565b80636cf6d675146101bb57806384330d4c146101d95780639e45a913146101f5576100ea565b80634394f6f3116100c85780634394f6f314610147578063452a9320146101635780634f76f1ee146101815780635e0d3b0f1461019f576100ea565b8063158ef93e146100ef578063185bf52b1461010d5780631a8bcd3414610129575b600080fd5b6100f761028b565b6040516101049190610dd5565b60405180910390f35b61012760048036038101906101229190610e66565b61029e565b005b610131610409565b60405161013e9190610ec8565b60405180910390f35b610161600480360381019061015c9190610ee3565b61040f565b005b61016b61051a565b6040516101789190610f8b565b60405180910390f35b61018961053e565b6040516101969190610ec8565b60405180910390f35b6101b960048036038101906101b49190611085565b610544565b005b6101c36106f4565b6040516101d09190610ec8565b60405180910390f35b6101f360048036038101906101ee9190611176565b6106fa565b005b6101fd6108bd565b60405161020a9190611241565b60405180910390f35b61021b6108e1565b6040516102289190611241565b60405180910390f35b6102396108e7565b6040516102469190610ec8565b60405180910390f35b6102576108ed565b6040516102649190611241565b60405180910390f35b610275610914565b6040516102829190610f8b565b60405180910390f35b600560149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610323576040517fef6d0f0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546103e860045461033691906112ba565b4261034191906112eb565b1015610379576040517f1c36ced200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045482116103b4576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260028190555081600481905550806001819055507fd7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb098383836040516103fc9392919061131f565b60405180910390a1505050565b6103e881565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610496576040517f8b906c9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560149054906101000a900460ff16156104dd576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff0219169083151502179055508360028190555082600481905550816003819055508060018190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b818190508484905014610583576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546105bd60025460045487876040516020016105a29291906114b5565b6040516020818303038152906040528051906020012061093a565b146105f4576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b866000013587806020019061062f91906114e8565b806000019061063e9190611510565b89806020019061064e91906114e8565b602001358a806020019061066291906114e8565b604001358b806020019061067691906114e8565b606001358c806020019061068a91906114e8565b608001356001548e604001358f80602001906106a691906114e8565b60a001356040516020016106c49b9a999897969594939291906115d1565b6040516020818303038152906040528051906020012090506106ec8585858585600254610992565b505050505050565b60035481565b818190508484905014610739576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454851015610775576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008667ffffffffffffffff16036107b9576040517fc3b70c8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084846040516020016107ce9291906114b5565b6040516020818303038152906040528051906020012090506001546107f86002546004548461093a565b1461082f576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108468867ffffffffffffffff16888b61093a565b90506108588686868685600254610992565b806001819055508767ffffffffffffffff16600281905550866004819055507fe304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e88888b6040516108aa939291906116b1565b60405180910390a1505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60025481565b7f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b81565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f000000000000000000000000000000000000000000000000000000000000000084848460405160200161097394939291906116e8565b6040516020818303038152906040528051906020012090509392505050565b6003546103e86004546109a591906112ba565b426109b091906112eb565b11156109e8576040517fe5e5e46400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b87879050811015610b49576000801b868683818110610a0e57610a0d61172d565b5b90506060020160200135148015610a4357506000801b868683818110610a3757610a3661172d565b5b90506060020160400135145b8015610a7c57506000868683818110610a5f57610a5e61172d565b5b9050606002016000016020810190610a779190611795565b60ff16145b610b3657610acd888883818110610a9657610a9561172d565b5b9050604002016000016020810190610aae91906117c2565b85888885818110610ac257610ac161172d565b5b905060600201610b8d565b610b03576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b878782818110610b1657610b1561172d565b5b9050604002016020013582610b2b91906117ef565b915082821015610b49575b8080610b4190611823565b9150506109ec565b5081811015610b84576040517fcabeb65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b6000600283604051602001610ba2919061188c565b604051602081830303815290604052604051610bbe9190611918565b602060405180830381855afa158015610bdb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610bfe9190611944565b9250600080610c2985856000016020810190610c1a9190611795565b86602001358760400135610cc6565b509150915060006003811115610c4257610c41611971565b5b816003811115610c5557610c54611971565b5b14610c8c576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115610d06576000600385925092509250610db0565b600060018888888860405160008152602001604052604051610d2b94939291906119af565b6020604051602081039080840390855afa158015610d4d573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610da157600060016000801b93509350935050610db0565b8060008060001b935093509350505b9450945094915050565b60008115159050919050565b610dcf81610dba565b82525050565b6000602082019050610dea6000830184610dc6565b92915050565b600080fd5b600080fd5b6000819050919050565b610e0d81610dfa565b8114610e1857600080fd5b50565b600081359050610e2a81610e04565b92915050565b6000819050919050565b610e4381610e30565b8114610e4e57600080fd5b50565b600081359050610e6081610e3a565b92915050565b600080600060608486031215610e7f57610e7e610df0565b5b6000610e8d86828701610e1b565b9350506020610e9e86828701610e1b565b9250506040610eaf86828701610e51565b9150509250925092565b610ec281610dfa565b82525050565b6000602082019050610edd6000830184610eb9565b92915050565b60008060008060808587031215610efd57610efc610df0565b5b6000610f0b87828801610e1b565b9450506020610f1c87828801610e1b565b9350506040610f2d87828801610e1b565b9250506060610f3e87828801610e51565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f7582610f4a565b9050919050565b610f8581610f6a565b82525050565b6000602082019050610fa06000830184610f7c565b92915050565b600080fd5b600060608284031215610fc157610fc0610fa6565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610fef57610fee610fca565b5b8235905067ffffffffffffffff81111561100c5761100b610fcf565b5b60208301915083604082028301111561102857611027610fd4565b5b9250929050565b60008083601f84011261104557611044610fca565b5b8235905067ffffffffffffffff81111561106257611061610fcf565b5b60208301915083606082028301111561107e5761107d610fd4565b5b9250929050565b6000806000806000606086880312156110a1576110a0610df0565b5b600086013567ffffffffffffffff8111156110bf576110be610df5565b5b6110cb88828901610fab565b955050602086013567ffffffffffffffff8111156110ec576110eb610df5565b5b6110f888828901610fd9565b9450945050604086013567ffffffffffffffff81111561111b5761111a610df5565b5b6111278882890161102f565b92509250509295509295909350565b600067ffffffffffffffff82169050919050565b61115381611136565b811461115e57600080fd5b50565b6000813590506111708161114a565b92915050565b600080600080600080600060a0888a03121561119557611194610df0565b5b60006111a38a828b01610e51565b97505060206111b48a828b01611161565b96505060406111c58a828b01610e1b565b955050606088013567ffffffffffffffff8111156111e6576111e5610df5565b5b6111f28a828b01610fd9565b9450945050608088013567ffffffffffffffff81111561121557611214610df5565b5b6112218a828b0161102f565b925092505092959891949750929550565b61123b81610e30565b82525050565b60006020820190506112566000830184611232565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112c582610dfa565b91506112d083610dfa565b9250826112e0576112df61125c565b5b828204905092915050565b60006112f682610dfa565b915061130183610dfa565b92508282039050818111156113195761131861128b565b5b92915050565b60006060820190506113346000830186610eb9565b6113416020830185610eb9565b61134e6040830184611232565b949350505050565b600082825260208201905092915050565b6000819050919050565b61137a81610f6a565b811461138557600080fd5b50565b60008135905061139781611371565b92915050565b60006113ac6020840184611388565b905092915050565b6113bd81610f6a565b82525050565b60006113d26020840184610e1b565b905092915050565b6113e381610dfa565b82525050565b604082016113fa600083018361139d565b61140760008501826113b4565b5061141560208301836113c3565b61142260208501826113da565b50505050565b600061143483836113e9565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006114648385611356565b935061146f82611367565b8060005b858110156114a8576114858284611440565b61148f8882611428565b975061149a8361144b565b925050600181019050611473565b5085925050509392505050565b600060208201905081810360008301526114d0818486611458565b90509392505050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112611504576115036114d9565b5b80830191505092915050565b6000808335600160200384360303811261152d5761152c6114d9565b5b80840192508235915067ffffffffffffffff82111561154f5761154e6114de565b5b60208301925060018202360383131561156b5761156a6114e3565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006115b08385611573565b93506115bd838584611584565b6115c683611593565b840190509392505050565b6000610140820190506115e7600083018e611232565b6115f4602083018d611232565b8181036040830152611607818b8d6115a4565b9050611616606083018a610eb9565b6116236080830189610eb9565b61163060a0830188610eb9565b61163d60c0830187610eb9565b61164a60e0830186611232565b611658610100830185610eb9565b611666610120830184610eb9565b9c9b505050505050505050505050565b6000819050919050565b600061169b61169661169184611136565b611676565b610dfa565b9050919050565b6116ab81611680565b82525050565b60006060820190506116c660008301866116a2565b6116d36020830185610eb9565b6116e06040830184611232565b949350505050565b60006080820190506116fd6000830187611232565b61170a6020830186610eb9565b6117176040830185610eb9565b6117246060830184611232565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6117728161175c565b811461177d57600080fd5b50565b60008135905061178f81611769565b92915050565b6000602082840312156117ab576117aa610df0565b5b60006117b984828501611780565b91505092915050565b6000602082840312156117d8576117d7610df0565b5b60006117e684828501611388565b91505092915050565b60006117fa82610dfa565b915061180583610dfa565b925082820190508082111561181d5761181c61128b565b5b92915050565b600061182e82610dfa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118605761185f61128b565b5b600182019050919050565b6000819050919050565b61188661188182610e30565b61186b565b82525050565b60006118988284611875565b60208201915081905092915050565b600081519050919050565b600081905092915050565b60005b838110156118db5780820151818401526020810190506118c0565b60008484015250505050565b60006118f2826118a7565b6118fc81856118b2565b935061190c8185602086016118bd565b80840191505092915050565b600061192482846118e7565b915081905092915050565b60008151905061193e81610e3a565b92915050565b60006020828403121561195a57611959610df0565b5b60006119688482850161192f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6119a98161175c565b82525050565b60006080820190506119c46000830187611232565b6119d160208301866119a0565b6119de6040830185611232565b6119eb6060830184611232565b9594505050505056fea2646970667358221220f1a0fa1576e34acb9d464e48852e4c9fd6a1700e01c80f69b0ddce502e250ae364736f6c63430008130033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1C01 CODESIZE SUB DUP1 PUSH3 0x1C01 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x16D JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLER PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP POP POP PUSH3 0x1B4 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xFA DUP3 PUSH3 0xCD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x10C DUP2 PUSH3 0xED JUMP JUMPDEST DUP2 EQ PUSH3 0x118 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x12C DUP2 PUSH3 0x101 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x147 DUP2 PUSH3 0x132 JUMP JUMPDEST DUP2 EQ PUSH3 0x153 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x167 DUP2 PUSH3 0x13C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x187 JUMPI PUSH3 0x186 PUSH3 0xC8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x197 DUP6 DUP3 DUP7 ADD PUSH3 0x11B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH3 0x1AA DUP6 DUP3 DUP7 ADD PUSH3 0x156 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x1A2A PUSH3 0x1D7 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x8BF ADD MSTORE PUSH2 0x93E ADD MSTORE PUSH2 0x1A2A 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 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6CF6D675 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xAF082A7D GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xAF082A7D EQ PUSH2 0x213 JUMPI DUP1 PUSH4 0xBA95EC27 EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0xBD7C3153 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xD5F39488 EQ PUSH2 0x26D JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x6CF6D675 EQ PUSH2 0x1BB JUMPI DUP1 PUSH4 0x84330D4C EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0x9E45A913 EQ PUSH2 0x1F5 JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x4394F6F3 GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x4394F6F3 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x452A9320 EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x4F76F1EE EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0x5E0D3B0F EQ PUSH2 0x19F JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x158EF93E EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x185BF52B EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x1A8BCD34 EQ PUSH2 0x129 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF7 PUSH2 0x28B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x104 SWAP2 SWAP1 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x127 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xE66 JUMP JUMPDEST PUSH2 0x29E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x131 PUSH2 0x409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xEE3 JUMP JUMPDEST PUSH2 0x40F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16B PUSH2 0x51A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x178 SWAP2 SWAP1 PUSH2 0xF8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH2 0x53E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B4 SWAP2 SWAP1 PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C3 PUSH2 0x6F4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D0 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x1176 JUMP JUMPDEST PUSH2 0x6FA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1FD PUSH2 0x8BD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20A SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x21B PUSH2 0x8E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x228 SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH2 0x8E7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x257 PUSH2 0x8ED JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x264 SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x275 PUSH2 0x914 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x282 SWAP2 SWAP1 PUSH2 0xF8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x323 JUMPI PUSH1 0x40 MLOAD PUSH32 0xEF6D0F0200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x336 SWAP2 SWAP1 PUSH2 0x12BA JUMP JUMPDEST TIMESTAMP PUSH2 0x341 SWAP2 SWAP1 PUSH2 0x12EB JUMP JUMPDEST LT ISZERO PUSH2 0x379 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1C36CED200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP3 GT PUSH2 0x3B4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH32 0xD7067F3840022E90166B8566F9982288B89EC7479B8EB30FAD06290F18C8CB09 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x3FC SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x131F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x3E8 DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x496 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8B906C9700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x4DD JUMPI PUSH1 0x40 MLOAD PUSH32 0xDC149F000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x5 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x583 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x5BD PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x5A2 SWAP3 SWAP2 SWAP1 PUSH2 0x14B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x93A JUMP JUMPDEST EQ PUSH2 0x5F4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP7 PUSH1 0x0 ADD CALLDATALOAD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x62F SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x63E SWAP2 SWAP1 PUSH2 0x1510 JUMP JUMPDEST DUP10 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x64E SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP11 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x662 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x40 ADD CALLDATALOAD DUP12 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x676 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x60 ADD CALLDATALOAD DUP13 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x80 ADD CALLDATALOAD PUSH1 0x1 SLOAD DUP15 PUSH1 0x40 ADD CALLDATALOAD DUP16 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x6A6 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0xA0 ADD CALLDATALOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x6C4 SWAP12 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH2 0x6EC DUP6 DUP6 DUP6 DUP6 DUP6 PUSH1 0x2 SLOAD PUSH2 0x992 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x739 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0x775 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND SUB PUSH2 0x7B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC3B70C8800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7CE SWAP3 SWAP2 SWAP1 PUSH2 0x14B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 SLOAD PUSH2 0x7F8 PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP5 PUSH2 0x93A JUMP JUMPDEST EQ PUSH2 0x82F JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x846 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP9 DUP12 PUSH2 0x93A JUMP JUMPDEST SWAP1 POP PUSH2 0x858 DUP7 DUP7 DUP7 DUP7 DUP6 PUSH1 0x2 SLOAD PUSH2 0x992 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP8 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP7 PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH32 0xE304B71F81A1AAF6D714401DE28BA1EBDBB5FF9C5FEE59EF2A6EB984F9E8DA7E DUP9 DUP9 DUP12 PUSH1 0x40 MLOAD PUSH2 0x8AA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x973 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x9A5 SWAP2 SWAP1 PUSH2 0x12BA JUMP JUMPDEST TIMESTAMP PUSH2 0x9B0 SWAP2 SWAP1 PUSH2 0x12EB JUMP JUMPDEST GT ISZERO PUSH2 0x9E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0xE5E5E46400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST DUP8 DUP8 SWAP1 POP DUP2 LT ISZERO PUSH2 0xB49 JUMPI PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA0E JUMPI PUSH2 0xA0D PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x20 ADD CALLDATALOAD EQ DUP1 ISZERO PUSH2 0xA43 JUMPI POP PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA37 JUMPI PUSH2 0xA36 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x40 ADD CALLDATALOAD EQ JUMPDEST DUP1 ISZERO PUSH2 0xA7C JUMPI POP PUSH1 0x0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA5F JUMPI PUSH2 0xA5E PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xA77 SWAP2 SWAP1 PUSH2 0x1795 JUMP JUMPDEST PUSH1 0xFF AND EQ JUMPDEST PUSH2 0xB36 JUMPI PUSH2 0xACD DUP9 DUP9 DUP4 DUP2 DUP2 LT PUSH2 0xA96 JUMPI PUSH2 0xA95 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xAAE SWAP2 SWAP1 PUSH2 0x17C2 JUMP JUMPDEST DUP6 DUP9 DUP9 DUP6 DUP2 DUP2 LT PUSH2 0xAC2 JUMPI PUSH2 0xAC1 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH2 0xB8D JUMP JUMPDEST PUSH2 0xB03 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP8 DUP8 DUP3 DUP2 DUP2 LT PUSH2 0xB16 JUMPI PUSH2 0xB15 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x20 ADD CALLDATALOAD DUP3 PUSH2 0xB2B SWAP2 SWAP1 PUSH2 0x17EF JUMP JUMPDEST SWAP2 POP DUP3 DUP3 LT ISZERO PUSH2 0xB49 JUMPI JUMPDEST DUP1 DUP1 PUSH2 0xB41 SWAP1 PUSH2 0x1823 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x9EC JUMP JUMPDEST POP DUP2 DUP2 LT ISZERO PUSH2 0xB84 JUMPI PUSH1 0x40 MLOAD PUSH32 0xCABEB65500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBA2 SWAP2 SWAP1 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xBBE SWAP2 SWAP1 PUSH2 0x1918 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBDB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xBFE SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST SWAP3 POP PUSH1 0x0 DUP1 PUSH2 0xC29 DUP6 DUP6 PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xC1A SWAP2 SWAP1 PUSH2 0x1795 JUMP JUMPDEST DUP7 PUSH1 0x20 ADD CALLDATALOAD DUP8 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0xCC6 JUMP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC42 JUMPI PUSH2 0xC41 PUSH2 0x1971 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC55 JUMPI PUSH2 0xC54 PUSH2 0x1971 JUMP JUMPDEST JUMPDEST EQ PUSH2 0xC8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP5 PUSH1 0x0 SHR GT ISZERO PUSH2 0xD06 JUMPI PUSH1 0x0 PUSH1 0x3 DUP6 SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0xDB0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xD2B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x19AF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD4D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xDA1 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP1 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP PUSH2 0xDB0 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCF DUP2 PUSH2 0xDBA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDEA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE0D DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP2 EQ PUSH2 0xE18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE2A DUP2 PUSH2 0xE04 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE43 DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP2 EQ PUSH2 0xE4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE60 DUP2 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE7F JUMPI PUSH2 0xE7E PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE8D DUP7 DUP3 DUP8 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xE9E DUP7 DUP3 DUP8 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xEAF DUP7 DUP3 DUP8 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0xEC2 DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEDD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xEB9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xEFD JUMPI PUSH2 0xEFC PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF0B DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xF1C DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0xF2D DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0xF3E DUP8 DUP3 DUP9 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF75 DUP3 PUSH2 0xF4A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF85 DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xFA0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFC1 JUMPI PUSH2 0xFC0 PUSH2 0xFA6 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xFEF JUMPI PUSH2 0xFEE PUSH2 0xFCA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x100C JUMPI PUSH2 0x100B PUSH2 0xFCF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x1028 JUMPI PUSH2 0x1027 PUSH2 0xFD4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1045 JUMPI PUSH2 0x1044 PUSH2 0xFCA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1062 JUMPI PUSH2 0x1061 PUSH2 0xFCF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x107E JUMPI PUSH2 0x107D PUSH2 0xFD4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x10A1 JUMPI PUSH2 0x10A0 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10BF JUMPI PUSH2 0x10BE PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x10CB DUP9 DUP3 DUP10 ADD PUSH2 0xFAB JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10EC JUMPI PUSH2 0x10EB PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x10F8 DUP9 DUP3 DUP10 ADD PUSH2 0xFD9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111B JUMPI PUSH2 0x111A PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x1127 DUP9 DUP3 DUP10 ADD PUSH2 0x102F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1153 DUP2 PUSH2 0x1136 JUMP JUMPDEST DUP2 EQ PUSH2 0x115E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1170 DUP2 PUSH2 0x114A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1195 JUMPI PUSH2 0x1194 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11A3 DUP11 DUP3 DUP12 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x11B4 DUP11 DUP3 DUP12 ADD PUSH2 0x1161 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x11C5 DUP11 DUP3 DUP12 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x11E6 JUMPI PUSH2 0x11E5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x11F2 DUP11 DUP3 DUP12 ADD PUSH2 0xFD9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1215 JUMPI PUSH2 0x1214 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x1221 DUP11 DUP3 DUP12 ADD PUSH2 0x102F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH2 0x123B DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1256 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x12C5 DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x12D0 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x12E0 JUMPI PUSH2 0x12DF PUSH2 0x125C JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x1301 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1319 JUMPI PUSH2 0x1318 PUSH2 0x128B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1334 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1341 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x134E PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x137A DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP2 EQ PUSH2 0x1385 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1397 DUP2 PUSH2 0x1371 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13AC PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x1388 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13BD DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13D2 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xE1B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13E3 DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0x13FA PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x139D JUMP JUMPDEST PUSH2 0x1407 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x13B4 JUMP JUMPDEST POP PUSH2 0x1415 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x13C3 JUMP JUMPDEST PUSH2 0x1422 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x13DA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1434 DUP4 DUP4 PUSH2 0x13E9 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1464 DUP4 DUP6 PUSH2 0x1356 JUMP JUMPDEST SWAP4 POP PUSH2 0x146F DUP3 PUSH2 0x1367 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x14A8 JUMPI PUSH2 0x1485 DUP3 DUP5 PUSH2 0x1440 JUMP JUMPDEST PUSH2 0x148F DUP9 DUP3 PUSH2 0x1428 JUMP JUMPDEST SWAP8 POP PUSH2 0x149A DUP4 PUSH2 0x144B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1473 JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14D0 DUP2 DUP5 DUP7 PUSH2 0x1458 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x1504 JUMPI PUSH2 0x1503 PUSH2 0x14D9 JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x152D JUMPI PUSH2 0x152C PUSH2 0x14D9 JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x154F JUMPI PUSH2 0x154E PUSH2 0x14DE JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x156B JUMPI PUSH2 0x156A PUSH2 0x14E3 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B0 DUP4 DUP6 PUSH2 0x1573 JUMP JUMPDEST SWAP4 POP PUSH2 0x15BD DUP4 DUP6 DUP5 PUSH2 0x1584 JUMP JUMPDEST PUSH2 0x15C6 DUP4 PUSH2 0x1593 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP3 ADD SWAP1 POP PUSH2 0x15E7 PUSH1 0x0 DUP4 ADD DUP15 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x15F4 PUSH1 0x20 DUP4 ADD DUP14 PUSH2 0x1232 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1607 DUP2 DUP12 DUP14 PUSH2 0x15A4 JUMP JUMPDEST SWAP1 POP PUSH2 0x1616 PUSH1 0x60 DUP4 ADD DUP11 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1623 PUSH1 0x80 DUP4 ADD DUP10 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1630 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x163D PUSH1 0xC0 DUP4 ADD DUP8 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x164A PUSH1 0xE0 DUP4 ADD DUP7 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x1658 PUSH2 0x100 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1666 PUSH2 0x120 DUP4 ADD DUP5 PUSH2 0xEB9 JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x169B PUSH2 0x1696 PUSH2 0x1691 DUP5 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x1676 JUMP JUMPDEST PUSH2 0xDFA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16AB DUP2 PUSH2 0x1680 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x16C6 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x16A2 JUMP JUMPDEST PUSH2 0x16D3 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x16E0 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x16FD PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x170A PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1717 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1724 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1772 DUP2 PUSH2 0x175C JUMP JUMPDEST DUP2 EQ PUSH2 0x177D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x178F DUP2 PUSH2 0x1769 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17AB JUMPI PUSH2 0x17AA PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17B9 DUP5 DUP3 DUP6 ADD PUSH2 0x1780 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17D8 JUMPI PUSH2 0x17D7 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17E6 DUP5 DUP3 DUP6 ADD PUSH2 0x1388 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17FA DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x1805 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x181D JUMPI PUSH2 0x181C PUSH2 0x128B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x182E DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1860 JUMPI PUSH2 0x185F PUSH2 0x128B JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1886 PUSH2 0x1881 DUP3 PUSH2 0xE30 JUMP JUMPDEST PUSH2 0x186B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1898 DUP3 DUP5 PUSH2 0x1875 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x18DB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x18C0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F2 DUP3 PUSH2 0x18A7 JUMP JUMPDEST PUSH2 0x18FC DUP2 DUP6 PUSH2 0x18B2 JUMP JUMPDEST SWAP4 POP PUSH2 0x190C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x18BD JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1924 DUP3 DUP5 PUSH2 0x18E7 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x193E DUP2 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x195A JUMPI PUSH2 0x1959 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1968 DUP5 DUP3 DUP6 ADD PUSH2 0x192F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x19A9 DUP2 PUSH2 0x175C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x19C4 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x19D1 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x19A0 JUMP JUMPDEST PUSH2 0x19DE PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x19EB PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALL LOG0 STATICCALL ISZERO PUSH23 0xE34ACB9D464E48852E4C9FD6A1700E01C80F69B0DDCE50 0x2E 0x25 EXP 0xE3 PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"949:11667:3:-:0;;;3061:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3177:9;3166:8;;:20;;;;;;;;;;;;;;;;;;3207:10;3196:8;;:21;;;;;;;;;;;;;;;;;;3265:32;3227:70;;;;;;3061:243;;949:11667;;88:117:4;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:77::-;882:7;911:5;900:16;;845:77;;;:::o;928:122::-;1001:24;1019:5;1001:24;:::i;:::-;994:5;991:35;981:63;;1040:1;1037;1030:12;981:63;928:122;:::o;1056:143::-;1113:5;1144:6;1138:13;1129:22;;1160:33;1187:5;1160:33;:::i;:::-;1056:143;;;;:::o;1205:507::-;1284:6;1292;1341:2;1329:9;1320:7;1316:23;1312:32;1309:119;;;1347:79;;:::i;:::-;1309:119;1467:1;1492:64;1548:7;1539:6;1528:9;1524:22;1492:64;:::i;:::-;1482:74;;1438:128;1605:2;1631:64;1687:7;1678:6;1667:9;1663:22;1631:64;:::i;:::-;1621:74;;1576:129;1205:507;;;;;:::o;949:11667:3:-;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@MS_PER_SECOND_588":{"entryPoint":1033,"id":588,"parameterSlots":0,"returnSlots":0},"@NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR_591":{"entryPoint":2285,"id":591,"parameterSlots":0,"returnSlots":0},"@VALIDATOR_SET_HASH_DOMAIN_SEPARATOR_593":{"entryPoint":2237,"id":593,"parameterSlots":0,"returnSlots":0},"@_checkValidatorSignatures_1050":{"entryPoint":2450,"id":1050,"parameterSlots":6,"returnSlots":0},"@_domainSeparateValidatorSetHash_1073":{"entryPoint":2362,"id":1073,"parameterSlots":3,"returnSlots":1},"@_verifySig_1124":{"entryPoint":2957,"id":1124,"parameterSlots":3,"returnSlots":1},"@deployer_581":{"entryPoint":2324,"id":581,"parameterSlots":0,"returnSlots":0},"@guardianResetValidatorSet_761":{"entryPoint":670,"id":761,"parameterSlots":3,"returnSlots":0},"@guardian_566":{"entryPoint":1306,"id":566,"parameterSlots":0,"returnSlots":0},"@init_701":{"entryPoint":1039,"id":701,"parameterSlots":4,"returnSlots":0},"@initialized_584":{"entryPoint":651,"id":584,"parameterSlots":0,"returnSlots":0},"@lastValidatorSetCheckpoint_569":{"entryPoint":2273,"id":569,"parameterSlots":0,"returnSlots":0},"@powerThreshold_572":{"entryPoint":2279,"id":572,"parameterSlots":0,"returnSlots":0},"@tryRecover_428":{"entryPoint":3270,"id":428,"parameterSlots":4,"returnSlots":3},"@unbondingPeriod_575":{"entryPoint":1780,"id":575,"parameterSlots":0,"returnSlots":0},"@updateValidatorSet_860":{"entryPoint":1786,"id":860,"parameterSlots":7,"returnSlots":0},"@validatorTimestamp_578":{"entryPoint":1342,"id":578,"parameterSlots":0,"returnSlots":0},"@verifyOracleData_942":{"entryPoint":1348,"id":942,"parameterSlots":5,"returnSlots":0},"abi_decode_t_address":{"entryPoint":5000,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4143,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4057,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_bytes32":{"entryPoint":3665,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32_fromMemory":{"entryPoint":6447,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_struct$_OracleAttestationData_$536_calldata_ptr":{"entryPoint":4011,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":3611,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint64":{"entryPoint":4449,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint8":{"entryPoint":6016,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":6082,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":6468,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_uint64t_uint256t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4470,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_struct$_OracleAttestationData_$536_calldata_ptrt_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4229,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256t_uint256t_bytes32":{"entryPoint":3686,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint256t_uint256t_uint256t_bytes32":{"entryPoint":3811,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint8":{"entryPoint":6037,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_struct$_Validator_$561_calldata_ptr_to_t_struct$_Validator_$561_memory_ptr":{"entryPoint":5160,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address":{"entryPoint":5044,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":3964,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$561_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":5208,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":3526,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":4658,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack":{"entryPoint":6261,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":5540,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":6375,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_Validator_$561_calldata_ptr_to_t_struct$_Validator_$561_memory_ptr":{"entryPoint":5097,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":5082,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":3769,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint64_to_t_uint256_fromStack":{"entryPoint":5794,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8_fromStack":{"entryPoint":6560,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed":{"entryPoint":6284,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":6424,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":3979,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_struct$_Validator_$561_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":5301,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":3541,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":4673,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes_calldata_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_bytes32_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":5585,"id":null,"parameterSlots":12,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":5864,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":6575,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":3784,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":4895,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint64_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":5809,"id":null,"parameterSlots":4,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":5392,"id":null,"parameterSlots":2,"returnSlots":2},"access_calldata_tail_t_struct$_ReportData_$549_calldata_ptr":{"entryPoint":5352,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_unbounded":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":4967,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":6311,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":5195,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$561_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":4950,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":5491,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":6322,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_address":{"entryPoint":5021,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_struct$_Validator_$561_calldata_ptr":{"entryPoint":5184,"id":null,"parameterSlots":2,"returnSlots":1},"calldata_access_t_uint256":{"entryPoint":5059,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":6127,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":4794,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":4843,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":3946,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":3514,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":3632,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":3914,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":3578,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint64":{"entryPoint":4406,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":5980,"id":null,"parameterSlots":1,"returnSlots":1},"convert_t_uint64_to_t_uint256":{"entryPoint":5760,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":5508,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":6333,"id":null,"parameterSlots":3,"returnSlots":0},"identity":{"entryPoint":5750,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint256":{"entryPoint":6179,"id":null,"parameterSlots":1,"returnSlots":1},"leftAlign_t_bytes32":{"entryPoint":6251,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":4747,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":4700,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":6513,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":5933,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":4047,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":4042,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a":{"entryPoint":5342,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d":{"entryPoint":4006,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad":{"entryPoint":5337,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":4052,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e":{"entryPoint":5347,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":3573,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":3568,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":5523,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_address":{"entryPoint":4977,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":3642,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":3588,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint64":{"entryPoint":4426,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint8":{"entryPoint":5993,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:24112:4","statements":[{"body":{"nodeType":"YulBlock","src":"49:48:4","statements":[{"nodeType":"YulAssignment","src":"59:32:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"84:5:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"77:6:4"},"nodeType":"YulFunctionCall","src":"77:13:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"70:6:4"},"nodeType":"YulFunctionCall","src":"70:21:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"59:7:4"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"41:7:4","type":""}],"src":"7:90:4"},{"body":{"nodeType":"YulBlock","src":"162:50:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"179:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"199:5:4"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"184:14:4"},"nodeType":"YulFunctionCall","src":"184:21:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"172:6:4"},"nodeType":"YulFunctionCall","src":"172:34:4"},"nodeType":"YulExpressionStatement","src":"172:34:4"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"150:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"157:3:4","type":""}],"src":"103:109:4"},{"body":{"nodeType":"YulBlock","src":"310:118:4","statements":[{"nodeType":"YulAssignment","src":"320:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"332:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"343:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"328:3:4"},"nodeType":"YulFunctionCall","src":"328:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"320:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"394:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"407:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"418:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"403:3:4"},"nodeType":"YulFunctionCall","src":"403:17:4"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"356:37:4"},"nodeType":"YulFunctionCall","src":"356:65:4"},"nodeType":"YulExpressionStatement","src":"356:65:4"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"282:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"294:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"305:4:4","type":""}],"src":"218:210:4"},{"body":{"nodeType":"YulBlock","src":"474:35:4","statements":[{"nodeType":"YulAssignment","src":"484:19:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"500:2:4","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"494:5:4"},"nodeType":"YulFunctionCall","src":"494:9:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"484:6:4"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"467:6:4","type":""}],"src":"434:75:4"},{"body":{"nodeType":"YulBlock","src":"604:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"621:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"624:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"614:6:4"},"nodeType":"YulFunctionCall","src":"614:12:4"},"nodeType":"YulExpressionStatement","src":"614:12:4"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"515:117:4"},{"body":{"nodeType":"YulBlock","src":"727:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"744:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"747:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"737:6:4"},"nodeType":"YulFunctionCall","src":"737:12:4"},"nodeType":"YulExpressionStatement","src":"737:12:4"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"638:117:4"},{"body":{"nodeType":"YulBlock","src":"806:32:4","statements":[{"nodeType":"YulAssignment","src":"816:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"827:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"816:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"788:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"798:7:4","type":""}],"src":"761:77:4"},{"body":{"nodeType":"YulBlock","src":"887:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"944:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"953:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"956:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"946:6:4"},"nodeType":"YulFunctionCall","src":"946:12:4"},"nodeType":"YulExpressionStatement","src":"946:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"910:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"935:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"917:17:4"},"nodeType":"YulFunctionCall","src":"917:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"907:2:4"},"nodeType":"YulFunctionCall","src":"907:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"900:6:4"},"nodeType":"YulFunctionCall","src":"900:43:4"},"nodeType":"YulIf","src":"897:63:4"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"880:5:4","type":""}],"src":"844:122:4"},{"body":{"nodeType":"YulBlock","src":"1024:87:4","statements":[{"nodeType":"YulAssignment","src":"1034:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1056:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1043:12:4"},"nodeType":"YulFunctionCall","src":"1043:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1034:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1099:5:4"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1072:26:4"},"nodeType":"YulFunctionCall","src":"1072:33:4"},"nodeType":"YulExpressionStatement","src":"1072:33:4"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1002:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"1010:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1018:5:4","type":""}],"src":"972:139:4"},{"body":{"nodeType":"YulBlock","src":"1162:32:4","statements":[{"nodeType":"YulAssignment","src":"1172:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"1183:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1172:7:4"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1144:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1154:7:4","type":""}],"src":"1117:77:4"},{"body":{"nodeType":"YulBlock","src":"1243:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"1300:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1309:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1312:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1302:6:4"},"nodeType":"YulFunctionCall","src":"1302:12:4"},"nodeType":"YulExpressionStatement","src":"1302:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1266:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1291:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"1273:17:4"},"nodeType":"YulFunctionCall","src":"1273:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1263:2:4"},"nodeType":"YulFunctionCall","src":"1263:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1256:6:4"},"nodeType":"YulFunctionCall","src":"1256:43:4"},"nodeType":"YulIf","src":"1253:63:4"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1236:5:4","type":""}],"src":"1200:122:4"},{"body":{"nodeType":"YulBlock","src":"1380:87:4","statements":[{"nodeType":"YulAssignment","src":"1390:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1412:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1399:12:4"},"nodeType":"YulFunctionCall","src":"1399:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1390:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1455:5:4"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"1428:26:4"},"nodeType":"YulFunctionCall","src":"1428:33:4"},"nodeType":"YulExpressionStatement","src":"1428:33:4"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1358:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"1366:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1374:5:4","type":""}],"src":"1328:139:4"},{"body":{"nodeType":"YulBlock","src":"1573:519:4","statements":[{"body":{"nodeType":"YulBlock","src":"1619:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"1621:77:4"},"nodeType":"YulFunctionCall","src":"1621:79:4"},"nodeType":"YulExpressionStatement","src":"1621:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1594:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1603:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1590:3:4"},"nodeType":"YulFunctionCall","src":"1590:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1615:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1586:3:4"},"nodeType":"YulFunctionCall","src":"1586:32:4"},"nodeType":"YulIf","src":"1583:119:4"},{"nodeType":"YulBlock","src":"1712:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1727:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1741:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1731:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1756:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1791:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1802:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1787:3:4"},"nodeType":"YulFunctionCall","src":"1787:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1811:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1766:20:4"},"nodeType":"YulFunctionCall","src":"1766:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1756:6:4"}]}]},{"nodeType":"YulBlock","src":"1839:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1854:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1868:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1858:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1884:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1919:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1930:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1915:3:4"},"nodeType":"YulFunctionCall","src":"1915:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1939:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1894:20:4"},"nodeType":"YulFunctionCall","src":"1894:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1884:6:4"}]}]},{"nodeType":"YulBlock","src":"1967:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1982:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1996:2:4","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1986:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2012:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2047:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2058:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2043:3:4"},"nodeType":"YulFunctionCall","src":"2043:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2067:7:4"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"2022:20:4"},"nodeType":"YulFunctionCall","src":"2022:53:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2012:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1527:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1538:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1550:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1558:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1566:6:4","type":""}],"src":"1473:619:4"},{"body":{"nodeType":"YulBlock","src":"2163:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2180:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2203:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"2185:17:4"},"nodeType":"YulFunctionCall","src":"2185:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2173:6:4"},"nodeType":"YulFunctionCall","src":"2173:37:4"},"nodeType":"YulExpressionStatement","src":"2173:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2151:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2158:3:4","type":""}],"src":"2098:118:4"},{"body":{"nodeType":"YulBlock","src":"2320:124:4","statements":[{"nodeType":"YulAssignment","src":"2330:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2342:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"2353:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2338:3:4"},"nodeType":"YulFunctionCall","src":"2338:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2330:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2410:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2423:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"2434:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2419:3:4"},"nodeType":"YulFunctionCall","src":"2419:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"2366:43:4"},"nodeType":"YulFunctionCall","src":"2366:71:4"},"nodeType":"YulExpressionStatement","src":"2366:71:4"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2292:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2304:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2315:4:4","type":""}],"src":"2222:222:4"},{"body":{"nodeType":"YulBlock","src":"2567:648:4","statements":[{"body":{"nodeType":"YulBlock","src":"2614:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2616:77:4"},"nodeType":"YulFunctionCall","src":"2616:79:4"},"nodeType":"YulExpressionStatement","src":"2616:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2588:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"2597:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2584:3:4"},"nodeType":"YulFunctionCall","src":"2584:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"2609:3:4","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2580:3:4"},"nodeType":"YulFunctionCall","src":"2580:33:4"},"nodeType":"YulIf","src":"2577:120:4"},{"nodeType":"YulBlock","src":"2707:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2722:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2736:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2726:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2751:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2786:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2797:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2782:3:4"},"nodeType":"YulFunctionCall","src":"2782:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2806:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2761:20:4"},"nodeType":"YulFunctionCall","src":"2761:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2751:6:4"}]}]},{"nodeType":"YulBlock","src":"2834:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2849:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2863:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2853:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2879:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2914:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2925:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2910:3:4"},"nodeType":"YulFunctionCall","src":"2910:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2934:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2889:20:4"},"nodeType":"YulFunctionCall","src":"2889:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2879:6:4"}]}]},{"nodeType":"YulBlock","src":"2962:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2977:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2991:2:4","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2981:6:4","type":""}]},{"nodeType":"YulAssignment","src":"3007:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3042:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"3053:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3038:3:4"},"nodeType":"YulFunctionCall","src":"3038:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3062:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"3017:20:4"},"nodeType":"YulFunctionCall","src":"3017:53:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3007:6:4"}]}]},{"nodeType":"YulBlock","src":"3090:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3105:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"3119:2:4","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3109:6:4","type":""}]},{"nodeType":"YulAssignment","src":"3135:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3170:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"3181:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3166:3:4"},"nodeType":"YulFunctionCall","src":"3166:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3190:7:4"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"3145:20:4"},"nodeType":"YulFunctionCall","src":"3145:53:4"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"3135:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256t_uint256t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2513:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2524:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2536:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2544:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2552:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2560:6:4","type":""}],"src":"2450:765:4"},{"body":{"nodeType":"YulBlock","src":"3266:81:4","statements":[{"nodeType":"YulAssignment","src":"3276:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3291:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"3298:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3287:3:4"},"nodeType":"YulFunctionCall","src":"3287:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3276:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3248:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3258:7:4","type":""}],"src":"3221:126:4"},{"body":{"nodeType":"YulBlock","src":"3398:51:4","statements":[{"nodeType":"YulAssignment","src":"3408:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3437:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"3419:17:4"},"nodeType":"YulFunctionCall","src":"3419:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"3408:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3380:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"3390:7:4","type":""}],"src":"3353:96:4"},{"body":{"nodeType":"YulBlock","src":"3520:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3537:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3560:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"3542:17:4"},"nodeType":"YulFunctionCall","src":"3542:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3530:6:4"},"nodeType":"YulFunctionCall","src":"3530:37:4"},"nodeType":"YulExpressionStatement","src":"3530:37:4"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3508:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3515:3:4","type":""}],"src":"3455:118:4"},{"body":{"nodeType":"YulBlock","src":"3677:124:4","statements":[{"nodeType":"YulAssignment","src":"3687:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3699:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3710:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3695:3:4"},"nodeType":"YulFunctionCall","src":"3695:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3687:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3767:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3780:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3791:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3776:3:4"},"nodeType":"YulFunctionCall","src":"3776:17:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"3723:43:4"},"nodeType":"YulFunctionCall","src":"3723:71:4"},"nodeType":"YulExpressionStatement","src":"3723:71:4"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3649:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3661:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3672:4:4","type":""}],"src":"3579:222:4"},{"body":{"nodeType":"YulBlock","src":"3896:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3913:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3916:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3906:6:4"},"nodeType":"YulFunctionCall","src":"3906:12:4"},"nodeType":"YulExpressionStatement","src":"3906:12:4"}]},"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulFunctionDefinition","src":"3807:117:4"},{"body":{"nodeType":"YulBlock","src":"4058:152:4","statements":[{"body":{"nodeType":"YulBlock","src":"4097:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d","nodeType":"YulIdentifier","src":"4099:77:4"},"nodeType":"YulFunctionCall","src":"4099:79:4"},"nodeType":"YulExpressionStatement","src":"4099:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"4079:3:4"},{"name":"offset","nodeType":"YulIdentifier","src":"4084:6:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4075:3:4"},"nodeType":"YulFunctionCall","src":"4075:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"4093:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4071:3:4"},"nodeType":"YulFunctionCall","src":"4071:25:4"},"nodeType":"YulIf","src":"4068:112:4"},{"nodeType":"YulAssignment","src":"4189:15:4","value":{"name":"offset","nodeType":"YulIdentifier","src":"4198:6:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"4189:5:4"}]}]},"name":"abi_decode_t_struct$_OracleAttestationData_$536_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4036:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"4044:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"4052:5:4","type":""}],"src":"3966:244:4"},{"body":{"nodeType":"YulBlock","src":"4305:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4322:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4325:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4315:6:4"},"nodeType":"YulFunctionCall","src":"4315:12:4"},"nodeType":"YulExpressionStatement","src":"4315:12:4"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"4216:117:4"},{"body":{"nodeType":"YulBlock","src":"4428:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4445:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4448:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4438:6:4"},"nodeType":"YulFunctionCall","src":"4438:12:4"},"nodeType":"YulExpressionStatement","src":"4438:12:4"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulFunctionDefinition","src":"4339:117:4"},{"body":{"nodeType":"YulBlock","src":"4551:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4568:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4571:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4561:6:4"},"nodeType":"YulFunctionCall","src":"4561:12:4"},"nodeType":"YulExpressionStatement","src":"4561:12:4"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"4462:117:4"},{"body":{"nodeType":"YulBlock","src":"4729:478:4","statements":[{"body":{"nodeType":"YulBlock","src":"4778:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"4780:77:4"},"nodeType":"YulFunctionCall","src":"4780:79:4"},"nodeType":"YulExpressionStatement","src":"4780:79:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4757:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4765:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4753:3:4"},"nodeType":"YulFunctionCall","src":"4753:17:4"},{"name":"end","nodeType":"YulIdentifier","src":"4772:3:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4749:3:4"},"nodeType":"YulFunctionCall","src":"4749:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4742:6:4"},"nodeType":"YulFunctionCall","src":"4742:35:4"},"nodeType":"YulIf","src":"4739:122:4"},{"nodeType":"YulAssignment","src":"4870:30:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4893:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4880:12:4"},"nodeType":"YulFunctionCall","src":"4880:20:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4870:6:4"}]},{"body":{"nodeType":"YulBlock","src":"4943:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"4945:77:4"},"nodeType":"YulFunctionCall","src":"4945:79:4"},"nodeType":"YulExpressionStatement","src":"4945:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4915:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4923:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4912:2:4"},"nodeType":"YulFunctionCall","src":"4912:30:4"},"nodeType":"YulIf","src":"4909:117:4"},{"nodeType":"YulAssignment","src":"5035:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5051:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5059:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5047:3:4"},"nodeType":"YulFunctionCall","src":"5047:17:4"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5035:8:4"}]},{"body":{"nodeType":"YulBlock","src":"5118:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"5120:77:4"},"nodeType":"YulFunctionCall","src":"5120:79:4"},"nodeType":"YulExpressionStatement","src":"5120:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5083:8:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5097:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5105:4:4","type":"","value":"0x40"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"5093:3:4"},"nodeType":"YulFunctionCall","src":"5093:17:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5079:3:4"},"nodeType":"YulFunctionCall","src":"5079:32:4"},{"name":"end","nodeType":"YulIdentifier","src":"5113:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5076:2:4"},"nodeType":"YulFunctionCall","src":"5076:41:4"},"nodeType":"YulIf","src":"5073:128:4"}]},"name":"abi_decode_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4696:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"4704:3:4","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"4712:8:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"4722:6:4","type":""}],"src":"4611:596:4"},{"body":{"nodeType":"YulBlock","src":"5357:478:4","statements":[{"body":{"nodeType":"YulBlock","src":"5406:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"5408:77:4"},"nodeType":"YulFunctionCall","src":"5408:79:4"},"nodeType":"YulExpressionStatement","src":"5408:79:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5385:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5393:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5381:3:4"},"nodeType":"YulFunctionCall","src":"5381:17:4"},{"name":"end","nodeType":"YulIdentifier","src":"5400:3:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5377:3:4"},"nodeType":"YulFunctionCall","src":"5377:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5370:6:4"},"nodeType":"YulFunctionCall","src":"5370:35:4"},"nodeType":"YulIf","src":"5367:122:4"},{"nodeType":"YulAssignment","src":"5498:30:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5521:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5508:12:4"},"nodeType":"YulFunctionCall","src":"5508:20:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5498:6:4"}]},{"body":{"nodeType":"YulBlock","src":"5571:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nodeType":"YulIdentifier","src":"5573:77:4"},"nodeType":"YulFunctionCall","src":"5573:79:4"},"nodeType":"YulExpressionStatement","src":"5573:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5543:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5551:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5540:2:4"},"nodeType":"YulFunctionCall","src":"5540:30:4"},"nodeType":"YulIf","src":"5537:117:4"},{"nodeType":"YulAssignment","src":"5663:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5679:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5687:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5675:3:4"},"nodeType":"YulFunctionCall","src":"5675:17:4"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5663:8:4"}]},{"body":{"nodeType":"YulBlock","src":"5746:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"5748:77:4"},"nodeType":"YulFunctionCall","src":"5748:79:4"},"nodeType":"YulExpressionStatement","src":"5748:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5711:8:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5725:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5733:4:4","type":"","value":"0x60"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"5721:3:4"},"nodeType":"YulFunctionCall","src":"5721:17:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5707:3:4"},"nodeType":"YulFunctionCall","src":"5707:32:4"},{"name":"end","nodeType":"YulIdentifier","src":"5741:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5704:2:4"},"nodeType":"YulFunctionCall","src":"5704:41:4"},"nodeType":"YulIf","src":"5701:128:4"}]},"name":"abi_decode_t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5324:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"5332:3:4","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"5340:8:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"5350:6:4","type":""}],"src":"5239:596:4"},{"body":{"nodeType":"YulBlock","src":"6107:1165:4","statements":[{"body":{"nodeType":"YulBlock","src":"6153:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"6155:77:4"},"nodeType":"YulFunctionCall","src":"6155:79:4"},"nodeType":"YulExpressionStatement","src":"6155:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6128:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"6137:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6124:3:4"},"nodeType":"YulFunctionCall","src":"6124:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"6149:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6120:3:4"},"nodeType":"YulFunctionCall","src":"6120:32:4"},"nodeType":"YulIf","src":"6117:119:4"},{"nodeType":"YulBlock","src":"6246:317:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6261:45:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6292:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6303:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6288:3:4"},"nodeType":"YulFunctionCall","src":"6288:17:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6275:12:4"},"nodeType":"YulFunctionCall","src":"6275:31:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6265:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"6353:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"6355:77:4"},"nodeType":"YulFunctionCall","src":"6355:79:4"},"nodeType":"YulExpressionStatement","src":"6355:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6325:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"6333:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6322:2:4"},"nodeType":"YulFunctionCall","src":"6322:30:4"},"nodeType":"YulIf","src":"6319:117:4"},{"nodeType":"YulAssignment","src":"6450:103:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6525:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"6536:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6521:3:4"},"nodeType":"YulFunctionCall","src":"6521:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6545:7:4"}],"functionName":{"name":"abi_decode_t_struct$_OracleAttestationData_$536_calldata_ptr","nodeType":"YulIdentifier","src":"6460:60:4"},"nodeType":"YulFunctionCall","src":"6460:93:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6450:6:4"}]}]},{"nodeType":"YulBlock","src":"6573:341:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6588:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6619:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6630:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6615:3:4"},"nodeType":"YulFunctionCall","src":"6615:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6602:12:4"},"nodeType":"YulFunctionCall","src":"6602:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6592:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"6681:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"6683:77:4"},"nodeType":"YulFunctionCall","src":"6683:79:4"},"nodeType":"YulExpressionStatement","src":"6683:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6653:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"6661:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6650:2:4"},"nodeType":"YulFunctionCall","src":"6650:30:4"},"nodeType":"YulIf","src":"6647:117:4"},{"nodeType":"YulAssignment","src":"6778:126:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6876:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"6887:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6872:3:4"},"nodeType":"YulFunctionCall","src":"6872:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6896:7:4"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"6796:75:4"},"nodeType":"YulFunctionCall","src":"6796:108:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6778:6:4"},{"name":"value2","nodeType":"YulIdentifier","src":"6786:6:4"}]}]},{"nodeType":"YulBlock","src":"6924:341:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6939:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6970:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6981:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6966:3:4"},"nodeType":"YulFunctionCall","src":"6966:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6953:12:4"},"nodeType":"YulFunctionCall","src":"6953:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6943:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"7032:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"7034:77:4"},"nodeType":"YulFunctionCall","src":"7034:79:4"},"nodeType":"YulExpressionStatement","src":"7034:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7004:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"7012:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7001:2:4"},"nodeType":"YulFunctionCall","src":"7001:30:4"},"nodeType":"YulIf","src":"6998:117:4"},{"nodeType":"YulAssignment","src":"7129:126:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7227:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"7238:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7223:3:4"},"nodeType":"YulFunctionCall","src":"7223:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7247:7:4"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"7147:75:4"},"nodeType":"YulFunctionCall","src":"7147:108:4"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"7129:6:4"},{"name":"value4","nodeType":"YulIdentifier","src":"7137:6:4"}]}]}]},"name":"abi_decode_tuple_t_struct$_OracleAttestationData_$536_calldata_ptrt_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6045:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6056:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6068:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6076:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"6084:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"6092:6:4","type":""},{"name":"value4","nodeType":"YulTypedName","src":"6100:6:4","type":""}],"src":"5841:1431:4"},{"body":{"nodeType":"YulBlock","src":"7322:57:4","statements":[{"nodeType":"YulAssignment","src":"7332:41:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7347:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"7354:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7343:3:4"},"nodeType":"YulFunctionCall","src":"7343:30:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"7332:7:4"}]}]},"name":"cleanup_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7304:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"7314:7:4","type":""}],"src":"7278:101:4"},{"body":{"nodeType":"YulBlock","src":"7427:78:4","statements":[{"body":{"nodeType":"YulBlock","src":"7483:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7492:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7495:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7485:6:4"},"nodeType":"YulFunctionCall","src":"7485:12:4"},"nodeType":"YulExpressionStatement","src":"7485:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7450:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7474:5:4"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"7457:16:4"},"nodeType":"YulFunctionCall","src":"7457:23:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7447:2:4"},"nodeType":"YulFunctionCall","src":"7447:34:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7440:6:4"},"nodeType":"YulFunctionCall","src":"7440:42:4"},"nodeType":"YulIf","src":"7437:62:4"}]},"name":"validator_revert_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7420:5:4","type":""}],"src":"7385:120:4"},{"body":{"nodeType":"YulBlock","src":"7562:86:4","statements":[{"nodeType":"YulAssignment","src":"7572:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7594:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7581:12:4"},"nodeType":"YulFunctionCall","src":"7581:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7572:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7636:5:4"}],"functionName":{"name":"validator_revert_t_uint64","nodeType":"YulIdentifier","src":"7610:25:4"},"nodeType":"YulFunctionCall","src":"7610:32:4"},"nodeType":"YulExpressionStatement","src":"7610:32:4"}]},"name":"abi_decode_t_uint64","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7540:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"7548:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7556:5:4","type":""}],"src":"7511:137:4"},{"body":{"nodeType":"YulBlock","src":"7913:1222:4","statements":[{"body":{"nodeType":"YulBlock","src":"7960:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"7962:77:4"},"nodeType":"YulFunctionCall","src":"7962:79:4"},"nodeType":"YulExpressionStatement","src":"7962:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7934:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"7943:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7930:3:4"},"nodeType":"YulFunctionCall","src":"7930:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"7955:3:4","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7926:3:4"},"nodeType":"YulFunctionCall","src":"7926:33:4"},"nodeType":"YulIf","src":"7923:120:4"},{"nodeType":"YulBlock","src":"8053:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8068:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"8082:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8072:6:4","type":""}]},{"nodeType":"YulAssignment","src":"8097:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8132:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"8143:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8128:3:4"},"nodeType":"YulFunctionCall","src":"8128:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8152:7:4"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"8107:20:4"},"nodeType":"YulFunctionCall","src":"8107:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8097:6:4"}]}]},{"nodeType":"YulBlock","src":"8180:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8195:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"8209:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8199:6:4","type":""}]},{"nodeType":"YulAssignment","src":"8225:62:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8259:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"8270:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8255:3:4"},"nodeType":"YulFunctionCall","src":"8255:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8279:7:4"}],"functionName":{"name":"abi_decode_t_uint64","nodeType":"YulIdentifier","src":"8235:19:4"},"nodeType":"YulFunctionCall","src":"8235:52:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8225:6:4"}]}]},{"nodeType":"YulBlock","src":"8307:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8322:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"8336:2:4","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8326:6:4","type":""}]},{"nodeType":"YulAssignment","src":"8352:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8387:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"8398:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8383:3:4"},"nodeType":"YulFunctionCall","src":"8383:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8407:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"8362:20:4"},"nodeType":"YulFunctionCall","src":"8362:53:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"8352:6:4"}]}]},{"nodeType":"YulBlock","src":"8435:341:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8450:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8481:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"8492:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8477:3:4"},"nodeType":"YulFunctionCall","src":"8477:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8464:12:4"},"nodeType":"YulFunctionCall","src":"8464:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8454:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"8543:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"8545:77:4"},"nodeType":"YulFunctionCall","src":"8545:79:4"},"nodeType":"YulExpressionStatement","src":"8545:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8515:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"8523:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8512:2:4"},"nodeType":"YulFunctionCall","src":"8512:30:4"},"nodeType":"YulIf","src":"8509:117:4"},{"nodeType":"YulAssignment","src":"8640:126:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8738:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"8749:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8734:3:4"},"nodeType":"YulFunctionCall","src":"8734:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8758:7:4"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"8658:75:4"},"nodeType":"YulFunctionCall","src":"8658:108:4"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"8640:6:4"},{"name":"value4","nodeType":"YulIdentifier","src":"8648:6:4"}]}]},{"nodeType":"YulBlock","src":"8786:342:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8801:47:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8832:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"8843:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8828:3:4"},"nodeType":"YulFunctionCall","src":"8828:19:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8815:12:4"},"nodeType":"YulFunctionCall","src":"8815:33:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8805:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"8895:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"8897:77:4"},"nodeType":"YulFunctionCall","src":"8897:79:4"},"nodeType":"YulExpressionStatement","src":"8897:79:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8867:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"8875:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8864:2:4"},"nodeType":"YulFunctionCall","src":"8864:30:4"},"nodeType":"YulIf","src":"8861:117:4"},{"nodeType":"YulAssignment","src":"8992:126:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9090:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"9101:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9086:3:4"},"nodeType":"YulFunctionCall","src":"9086:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9110:7:4"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"9010:75:4"},"nodeType":"YulFunctionCall","src":"9010:108:4"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"8992:6:4"},{"name":"value6","nodeType":"YulIdentifier","src":"9000:6:4"}]}]}]},"name":"abi_decode_tuple_t_bytes32t_uint64t_uint256t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7835:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7846:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7858:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7866:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7874:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7882:6:4","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7890:6:4","type":""},{"name":"value5","nodeType":"YulTypedName","src":"7898:6:4","type":""},{"name":"value6","nodeType":"YulTypedName","src":"7906:6:4","type":""}],"src":"7654:1481:4"},{"body":{"nodeType":"YulBlock","src":"9206:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9223:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9246:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"9228:17:4"},"nodeType":"YulFunctionCall","src":"9228:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9216:6:4"},"nodeType":"YulFunctionCall","src":"9216:37:4"},"nodeType":"YulExpressionStatement","src":"9216:37:4"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9194:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9201:3:4","type":""}],"src":"9141:118:4"},{"body":{"nodeType":"YulBlock","src":"9363:124:4","statements":[{"nodeType":"YulAssignment","src":"9373:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9385:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"9396:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9381:3:4"},"nodeType":"YulFunctionCall","src":"9381:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9373:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9453:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9466:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"9477:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9462:3:4"},"nodeType":"YulFunctionCall","src":"9462:17:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"9409:43:4"},"nodeType":"YulFunctionCall","src":"9409:71:4"},"nodeType":"YulExpressionStatement","src":"9409:71:4"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9335:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9347:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9358:4:4","type":""}],"src":"9265:222:4"},{"body":{"nodeType":"YulBlock","src":"9521:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9538:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9541:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9531:6:4"},"nodeType":"YulFunctionCall","src":"9531:88:4"},"nodeType":"YulExpressionStatement","src":"9531:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9635:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9638:4:4","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9628:6:4"},"nodeType":"YulFunctionCall","src":"9628:15:4"},"nodeType":"YulExpressionStatement","src":"9628:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9659:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9662:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9652:6:4"},"nodeType":"YulFunctionCall","src":"9652:15:4"},"nodeType":"YulExpressionStatement","src":"9652:15:4"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"9493:180:4"},{"body":{"nodeType":"YulBlock","src":"9707:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9724:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9727:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9717:6:4"},"nodeType":"YulFunctionCall","src":"9717:88:4"},"nodeType":"YulExpressionStatement","src":"9717:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9821:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9824:4:4","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9814:6:4"},"nodeType":"YulFunctionCall","src":"9814:15:4"},"nodeType":"YulExpressionStatement","src":"9814:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9845:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9848:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9838:6:4"},"nodeType":"YulFunctionCall","src":"9838:15:4"},"nodeType":"YulExpressionStatement","src":"9838:15:4"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"9679:180:4"},{"body":{"nodeType":"YulBlock","src":"9907:143:4","statements":[{"nodeType":"YulAssignment","src":"9917:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9940:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"9922:17:4"},"nodeType":"YulFunctionCall","src":"9922:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"9917:1:4"}]},{"nodeType":"YulAssignment","src":"9951:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"9974:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"9956:17:4"},"nodeType":"YulFunctionCall","src":"9956:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"9951:1:4"}]},{"body":{"nodeType":"YulBlock","src":"9998:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"10000:16:4"},"nodeType":"YulFunctionCall","src":"10000:18:4"},"nodeType":"YulExpressionStatement","src":"10000:18:4"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"9995:1:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9988:6:4"},"nodeType":"YulFunctionCall","src":"9988:9:4"},"nodeType":"YulIf","src":"9985:35:4"},{"nodeType":"YulAssignment","src":"10030:14:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10039:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"10042:1:4"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"10035:3:4"},"nodeType":"YulFunctionCall","src":"10035:9:4"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"10030:1:4"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"9896:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"9899:1:4","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"9905:1:4","type":""}],"src":"9865:185:4"},{"body":{"nodeType":"YulBlock","src":"10101:149:4","statements":[{"nodeType":"YulAssignment","src":"10111:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10134:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"10116:17:4"},"nodeType":"YulFunctionCall","src":"10116:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"10111:1:4"}]},{"nodeType":"YulAssignment","src":"10145:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"10168:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"10150:17:4"},"nodeType":"YulFunctionCall","src":"10150:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"10145:1:4"}]},{"nodeType":"YulAssignment","src":"10179:17:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10191:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"10194:1:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10187:3:4"},"nodeType":"YulFunctionCall","src":"10187:9:4"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"10179:4:4"}]},{"body":{"nodeType":"YulBlock","src":"10221:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"10223:16:4"},"nodeType":"YulFunctionCall","src":"10223:18:4"},"nodeType":"YulExpressionStatement","src":"10223:18:4"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"10212:4:4"},{"name":"x","nodeType":"YulIdentifier","src":"10218:1:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10209:2:4"},"nodeType":"YulFunctionCall","src":"10209:11:4"},"nodeType":"YulIf","src":"10206:37:4"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"10087:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"10090:1:4","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"10096:4:4","type":""}],"src":"10056:194:4"},{"body":{"nodeType":"YulBlock","src":"10410:288:4","statements":[{"nodeType":"YulAssignment","src":"10420:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10432:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"10443:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10428:3:4"},"nodeType":"YulFunctionCall","src":"10428:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10420:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10500:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10513:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"10524:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10509:3:4"},"nodeType":"YulFunctionCall","src":"10509:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"10456:43:4"},"nodeType":"YulFunctionCall","src":"10456:71:4"},"nodeType":"YulExpressionStatement","src":"10456:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"10581:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10594:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"10605:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10590:3:4"},"nodeType":"YulFunctionCall","src":"10590:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"10537:43:4"},"nodeType":"YulFunctionCall","src":"10537:72:4"},"nodeType":"YulExpressionStatement","src":"10537:72:4"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"10663:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10676:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"10687:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10672:3:4"},"nodeType":"YulFunctionCall","src":"10672:18:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"10619:43:4"},"nodeType":"YulFunctionCall","src":"10619:72:4"},"nodeType":"YulExpressionStatement","src":"10619:72:4"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10366:9:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10378:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10386:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10394:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10405:4:4","type":""}],"src":"10256:442:4"},{"body":{"nodeType":"YulBlock","src":"10841:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10858:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"10863:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10851:6:4"},"nodeType":"YulFunctionCall","src":"10851:19:4"},"nodeType":"YulExpressionStatement","src":"10851:19:4"},{"nodeType":"YulAssignment","src":"10879:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10898:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10903:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10894:3:4"},"nodeType":"YulFunctionCall","src":"10894:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"10879:11:4"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$561_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"10813:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"10818:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"10829:11:4","type":""}],"src":"10704:210:4"},{"body":{"nodeType":"YulBlock","src":"11022:28:4","statements":[{"nodeType":"YulAssignment","src":"11032:11:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"11040:3:4"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"11032:4:4"}]}]},"name":"array_dataslot_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"11009:3:4","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"11017:4:4","type":""}],"src":"10920:130:4"},{"body":{"nodeType":"YulBlock","src":"11099:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"11156:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11165:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11168:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11158:6:4"},"nodeType":"YulFunctionCall","src":"11158:12:4"},"nodeType":"YulExpressionStatement","src":"11158:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11122:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11147:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"11129:17:4"},"nodeType":"YulFunctionCall","src":"11129:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"11119:2:4"},"nodeType":"YulFunctionCall","src":"11119:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11112:6:4"},"nodeType":"YulFunctionCall","src":"11112:43:4"},"nodeType":"YulIf","src":"11109:63:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11092:5:4","type":""}],"src":"11056:122:4"},{"body":{"nodeType":"YulBlock","src":"11236:87:4","statements":[{"nodeType":"YulAssignment","src":"11246:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11268:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11255:12:4"},"nodeType":"YulFunctionCall","src":"11255:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"11246:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11311:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"11284:26:4"},"nodeType":"YulFunctionCall","src":"11284:33:4"},"nodeType":"YulExpressionStatement","src":"11284:33:4"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"11214:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"11222:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"11230:5:4","type":""}],"src":"11184:139:4"},{"body":{"nodeType":"YulBlock","src":"11387:64:4","statements":[{"nodeType":"YulAssignment","src":"11397:48:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11427:3:4"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11436:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11441:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11432:3:4"},"nodeType":"YulFunctionCall","src":"11432:12:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"11406:20:4"},"nodeType":"YulFunctionCall","src":"11406:39:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"11397:5:4"}]}]},"name":"calldata_access_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"11364:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"11373:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"11381:5:4","type":""}],"src":"11329:122:4"},{"body":{"nodeType":"YulBlock","src":"11512:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11529:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11552:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"11534:17:4"},"nodeType":"YulFunctionCall","src":"11534:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11522:6:4"},"nodeType":"YulFunctionCall","src":"11522:37:4"},"nodeType":"YulExpressionStatement","src":"11522:37:4"}]},"name":"abi_encode_t_address_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11500:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11507:3:4","type":""}],"src":"11457:108:4"},{"body":{"nodeType":"YulBlock","src":"11629:64:4","statements":[{"nodeType":"YulAssignment","src":"11639:48:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11669:3:4"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"11678:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11683:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11674:3:4"},"nodeType":"YulFunctionCall","src":"11674:12:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"11648:20:4"},"nodeType":"YulFunctionCall","src":"11648:39:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"11639:5:4"}]}]},"name":"calldata_access_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"11606:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"11615:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"11623:5:4","type":""}],"src":"11571:122:4"},{"body":{"nodeType":"YulBlock","src":"11754:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11771:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11794:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"11776:17:4"},"nodeType":"YulFunctionCall","src":"11776:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11764:6:4"},"nodeType":"YulFunctionCall","src":"11764:37:4"},"nodeType":"YulExpressionStatement","src":"11764:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11742:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11749:3:4","type":""}],"src":"11699:108:4"},{"body":{"nodeType":"YulBlock","src":"11967:446:4","statements":[{"nodeType":"YulVariableDeclaration","src":"11977:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11993:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11998:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11989:3:4"},"nodeType":"YulFunctionCall","src":"11989:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"11981:4:4","type":""}]},{"nodeType":"YulBlock","src":"12013:191:4","statements":[{"nodeType":"YulVariableDeclaration","src":"12048:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12094:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12105:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"12112:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12101:3:4"},"nodeType":"YulFunctionCall","src":"12101:16:4"}],"functionName":{"name":"calldata_access_t_address","nodeType":"YulIdentifier","src":"12068:25:4"},"nodeType":"YulFunctionCall","src":"12068:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12052:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12165:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12183:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12188:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12179:3:4"},"nodeType":"YulFunctionCall","src":"12179:14:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"12131:33:4"},"nodeType":"YulFunctionCall","src":"12131:63:4"},"nodeType":"YulExpressionStatement","src":"12131:63:4"}]},{"nodeType":"YulBlock","src":"12214:192:4","statements":[{"nodeType":"YulVariableDeclaration","src":"12250:70:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12296:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12307:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"12314:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12303:3:4"},"nodeType":"YulFunctionCall","src":"12303:16:4"}],"functionName":{"name":"calldata_access_t_uint256","nodeType":"YulIdentifier","src":"12270:25:4"},"nodeType":"YulFunctionCall","src":"12270:50:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12254:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12367:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12385:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12390:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12381:3:4"},"nodeType":"YulFunctionCall","src":"12381:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"12333:33:4"},"nodeType":"YulFunctionCall","src":"12333:63:4"},"nodeType":"YulExpressionStatement","src":"12333:63:4"}]}]},"name":"abi_encode_t_struct$_Validator_$561_calldata_ptr_to_t_struct$_Validator_$561_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11954:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11961:3:4","type":""}],"src":"11857:556:4"},{"body":{"nodeType":"YulBlock","src":"12553:153:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12651:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"12659:3:4"}],"functionName":{"name":"abi_encode_t_struct$_Validator_$561_calldata_ptr_to_t_struct$_Validator_$561_memory_ptr","nodeType":"YulIdentifier","src":"12563:87:4"},"nodeType":"YulFunctionCall","src":"12563:100:4"},"nodeType":"YulExpressionStatement","src":"12563:100:4"},{"nodeType":"YulAssignment","src":"12672:28:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12690:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12695:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12686:3:4"},"nodeType":"YulFunctionCall","src":"12686:14:4"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"12672:10:4"}]}]},"name":"abi_encodeUpdatedPos_t_struct$_Validator_$561_calldata_ptr_to_t_struct$_Validator_$561_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"12526:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12534:3:4","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"12542:10:4","type":""}],"src":"12419:287:4"},{"body":{"nodeType":"YulBlock","src":"12798:28:4","statements":[{"nodeType":"YulAssignment","src":"12808:12:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"12817:3:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"12808:5:4"}]}]},"name":"calldata_access_t_struct$_Validator_$561_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"baseRef","nodeType":"YulTypedName","src":"12775:7:4","type":""},{"name":"ptr","nodeType":"YulTypedName","src":"12784:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"12792:5:4","type":""}],"src":"12712:114:4"},{"body":{"nodeType":"YulBlock","src":"12937:38:4","statements":[{"nodeType":"YulAssignment","src":"12947:22:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"12959:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12964:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12955:3:4"},"nodeType":"YulFunctionCall","src":"12955:14:4"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"12947:4:4"}]}]},"name":"array_nextElement_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"12924:3:4","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"12932:4:4","type":""}],"src":"12832:143:4"},{"body":{"nodeType":"YulBlock","src":"13217:729:4","statements":[{"nodeType":"YulAssignment","src":"13228:119:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13335:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"13340:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_struct$_Validator_$561_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13235:99:4"},"nodeType":"YulFunctionCall","src":"13235:112:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13228:3:4"}]},{"nodeType":"YulVariableDeclaration","src":"13356:101:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13451:5:4"}],"functionName":{"name":"array_dataslot_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"13371:79:4"},"nodeType":"YulFunctionCall","src":"13371:86:4"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"13360:7:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"13466:21:4","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"13480:7:4"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"13470:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"13556:365:4","statements":[{"nodeType":"YulVariableDeclaration","src":"13570:91:4","value":{"arguments":[{"name":"baseRef","nodeType":"YulIdentifier","src":"13645:7:4"},{"name":"srcPtr","nodeType":"YulIdentifier","src":"13654:6:4"}],"functionName":{"name":"calldata_access_t_struct$_Validator_$561_calldata_ptr","nodeType":"YulIdentifier","src":"13591:53:4"},"nodeType":"YulFunctionCall","src":"13591:70:4"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"13574:13:4","type":""}]},{"nodeType":"YulAssignment","src":"13674:124:4","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"13779:13:4"},{"name":"pos","nodeType":"YulIdentifier","src":"13794:3:4"}],"functionName":{"name":"abi_encodeUpdatedPos_t_struct$_Validator_$561_calldata_ptr_to_t_struct$_Validator_$561_memory_ptr","nodeType":"YulIdentifier","src":"13681:97:4"},"nodeType":"YulFunctionCall","src":"13681:117:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13674:3:4"}]},{"nodeType":"YulAssignment","src":"13811:100:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"13904:6:4"}],"functionName":{"name":"array_nextElement_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulIdentifier","src":"13821:82:4"},"nodeType":"YulFunctionCall","src":"13821:90:4"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"13811:6:4"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"13518:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"13521:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13515:2:4"},"nodeType":"YulFunctionCall","src":"13515:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"13529:18:4","statements":[{"nodeType":"YulAssignment","src":"13531:14:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"13540:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"13543:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13536:3:4"},"nodeType":"YulFunctionCall","src":"13536:9:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"13531:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"13500:14:4","statements":[{"nodeType":"YulVariableDeclaration","src":"13502:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"13511:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"13506:1:4","type":""}]}]},"src":"13496:425:4"},{"nodeType":"YulAssignment","src":"13930:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"13937:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"13930:3:4"}]}]},"name":"abi_encode_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$561_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13188:5:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"13195:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"13203:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13212:3:4","type":""}],"src":"13029:917:4"},{"body":{"nodeType":"YulBlock","src":"14164:289:4","statements":[{"nodeType":"YulAssignment","src":"14174:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14186:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14197:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14182:3:4"},"nodeType":"YulFunctionCall","src":"14182:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14174:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14221:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14232:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14217:3:4"},"nodeType":"YulFunctionCall","src":"14217:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"14240:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"14246:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14236:3:4"},"nodeType":"YulFunctionCall","src":"14236:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14210:6:4"},"nodeType":"YulFunctionCall","src":"14210:47:4"},"nodeType":"YulExpressionStatement","src":"14210:47:4"},{"nodeType":"YulAssignment","src":"14266:180:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14424:6:4"},{"name":"value1","nodeType":"YulIdentifier","src":"14432:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"14441:4:4"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$561_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14274:149:4"},"nodeType":"YulFunctionCall","src":"14274:172:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14266:4:4"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_struct$_Validator_$561_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14128:9:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14140:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14148:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14159:4:4","type":""}],"src":"13952:501:4"},{"body":{"nodeType":"YulBlock","src":"14548:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14565:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14568:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14558:6:4"},"nodeType":"YulFunctionCall","src":"14558:12:4"},"nodeType":"YulExpressionStatement","src":"14558:12:4"}]},"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulFunctionDefinition","src":"14459:117:4"},{"body":{"nodeType":"YulBlock","src":"14671:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14688:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14691:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14681:6:4"},"nodeType":"YulFunctionCall","src":"14681:12:4"},"nodeType":"YulExpressionStatement","src":"14681:12:4"}]},"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulFunctionDefinition","src":"14582:117:4"},{"body":{"nodeType":"YulBlock","src":"14794:28:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14811:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14814:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14804:6:4"},"nodeType":"YulFunctionCall","src":"14804:12:4"},"nodeType":"YulExpressionStatement","src":"14804:12:4"}]},"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulFunctionDefinition","src":"14705:117:4"},{"body":{"nodeType":"YulBlock","src":"14928:295:4","statements":[{"nodeType":"YulVariableDeclaration","src":"14938:51:4","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"14977:11:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14964:12:4"},"nodeType":"YulFunctionCall","src":"14964:25:4"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"14942:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"15083:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"15085:77:4"},"nodeType":"YulFunctionCall","src":"15085:79:4"},"nodeType":"YulExpressionStatement","src":"15085:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15012:18:4"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15040:12:4"},"nodeType":"YulFunctionCall","src":"15040:14:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"15056:8:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15036:3:4"},"nodeType":"YulFunctionCall","src":"15036:29:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15071:4:4","type":"","value":"0xc0"},{"kind":"number","nodeType":"YulLiteral","src":"15077:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15067:3:4"},"nodeType":"YulFunctionCall","src":"15067:12:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15032:3:4"},"nodeType":"YulFunctionCall","src":"15032:48:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15008:3:4"},"nodeType":"YulFunctionCall","src":"15008:73:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15001:6:4"},"nodeType":"YulFunctionCall","src":"15001:81:4"},"nodeType":"YulIf","src":"14998:168:4"},{"nodeType":"YulAssignment","src":"15175:41:4","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"15187:8:4"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15197:18:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15183:3:4"},"nodeType":"YulFunctionCall","src":"15183:33:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"15175:4:4"}]}]},"name":"access_calldata_tail_t_struct$_ReportData_$549_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"14897:8:4","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"14907:11:4","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"14923:4:4","type":""}],"src":"14828:395:4"},{"body":{"nodeType":"YulBlock","src":"15319:634:4","statements":[{"nodeType":"YulVariableDeclaration","src":"15329:51:4","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"15368:11:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15355:12:4"},"nodeType":"YulFunctionCall","src":"15355:25:4"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"15333:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"15474:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad","nodeType":"YulIdentifier","src":"15476:77:4"},"nodeType":"YulFunctionCall","src":"15476:79:4"},"nodeType":"YulExpressionStatement","src":"15476:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15403:18:4"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15431:12:4"},"nodeType":"YulFunctionCall","src":"15431:14:4"},{"name":"base_ref","nodeType":"YulIdentifier","src":"15447:8:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15427:3:4"},"nodeType":"YulFunctionCall","src":"15427:29:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15462:4:4","type":"","value":"0x20"},{"kind":"number","nodeType":"YulLiteral","src":"15468:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15458:3:4"},"nodeType":"YulFunctionCall","src":"15458:12:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15423:3:4"},"nodeType":"YulFunctionCall","src":"15423:48:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15399:3:4"},"nodeType":"YulFunctionCall","src":"15399:73:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15392:6:4"},"nodeType":"YulFunctionCall","src":"15392:81:4"},"nodeType":"YulIf","src":"15389:168:4"},{"nodeType":"YulAssignment","src":"15566:41:4","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"15578:8:4"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15588:18:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15574:3:4"},"nodeType":"YulFunctionCall","src":"15574:33:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"15566:4:4"}]},{"nodeType":"YulAssignment","src":"15617:28:4","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"15640:4:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15627:12:4"},"nodeType":"YulFunctionCall","src":"15627:18:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"15617:6:4"}]},{"body":{"nodeType":"YulBlock","src":"15688:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a","nodeType":"YulIdentifier","src":"15690:77:4"},"nodeType":"YulFunctionCall","src":"15690:79:4"},"nodeType":"YulExpressionStatement","src":"15690:79:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"15660:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"15668:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15657:2:4"},"nodeType":"YulFunctionCall","src":"15657:30:4"},"nodeType":"YulIf","src":"15654:117:4"},{"nodeType":"YulAssignment","src":"15780:21:4","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"15792:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"15798:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15788:3:4"},"nodeType":"YulFunctionCall","src":"15788:13:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"15780:4:4"}]},{"body":{"nodeType":"YulBlock","src":"15863:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e","nodeType":"YulIdentifier","src":"15865:77:4"},"nodeType":"YulFunctionCall","src":"15865:79:4"},"nodeType":"YulExpressionStatement","src":"15865:79:4"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"15817:4:4"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15827:12:4"},"nodeType":"YulFunctionCall","src":"15827:14:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"15847:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"15855:4:4","type":"","value":"0x01"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"15843:3:4"},"nodeType":"YulFunctionCall","src":"15843:17:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15823:3:4"},"nodeType":"YulFunctionCall","src":"15823:38:4"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"15813:3:4"},"nodeType":"YulFunctionCall","src":"15813:49:4"},"nodeType":"YulIf","src":"15810:136:4"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"15280:8:4","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"15290:11:4","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"15306:4:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"15312:6:4","type":""}],"src":"15229:724:4"},{"body":{"nodeType":"YulBlock","src":"16054:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16071:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16076:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16064:6:4"},"nodeType":"YulFunctionCall","src":"16064:19:4"},"nodeType":"YulExpressionStatement","src":"16064:19:4"},{"nodeType":"YulAssignment","src":"16092:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16111:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"16116:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16107:3:4"},"nodeType":"YulFunctionCall","src":"16107:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16092:11:4"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16026:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"16031:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16042:11:4","type":""}],"src":"15959:168:4"},{"body":{"nodeType":"YulBlock","src":"16197:82:4","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16220:3:4"},{"name":"src","nodeType":"YulIdentifier","src":"16225:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16230:6:4"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"16207:12:4"},"nodeType":"YulFunctionCall","src":"16207:30:4"},"nodeType":"YulExpressionStatement","src":"16207:30:4"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16257:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16262:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16253:3:4"},"nodeType":"YulFunctionCall","src":"16253:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"16271:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16246:6:4"},"nodeType":"YulFunctionCall","src":"16246:27:4"},"nodeType":"YulExpressionStatement","src":"16246:27:4"}]},"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"16179:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"16184:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"16189:6:4","type":""}],"src":"16133:146:4"},{"body":{"nodeType":"YulBlock","src":"16333:54:4","statements":[{"nodeType":"YulAssignment","src":"16343:38:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16361:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"16368:2:4","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16357:3:4"},"nodeType":"YulFunctionCall","src":"16357:14:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16377:2:4","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16373:3:4"},"nodeType":"YulFunctionCall","src":"16373:7:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16353:3:4"},"nodeType":"YulFunctionCall","src":"16353:28:4"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"16343:6:4"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16316:5:4","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"16326:6:4","type":""}],"src":"16285:102:4"},{"body":{"nodeType":"YulBlock","src":"16515:214:4","statements":[{"nodeType":"YulAssignment","src":"16525:77:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16590:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16595:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"16532:57:4"},"nodeType":"YulFunctionCall","src":"16532:70:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16525:3:4"}]},{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"16649:5:4"},{"name":"pos","nodeType":"YulIdentifier","src":"16656:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16661:6:4"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"16612:36:4"},"nodeType":"YulFunctionCall","src":"16612:56:4"},"nodeType":"YulExpressionStatement","src":"16612:56:4"},{"nodeType":"YulAssignment","src":"16677:46:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16688:3:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"16715:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"16693:21:4"},"nodeType":"YulFunctionCall","src":"16693:29:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16684:3:4"},"nodeType":"YulFunctionCall","src":"16684:39:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16677:3:4"}]}]},"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"16488:5:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"16495:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"16503:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16511:3:4","type":""}],"src":"16415:314:4"},{"body":{"nodeType":"YulBlock","src":"17114:949:4","statements":[{"nodeType":"YulAssignment","src":"17124:27:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17136:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17147:3:4","type":"","value":"320"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17132:3:4"},"nodeType":"YulFunctionCall","src":"17132:19:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17124:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17205:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17218:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17229:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17214:3:4"},"nodeType":"YulFunctionCall","src":"17214:17:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17161:43:4"},"nodeType":"YulFunctionCall","src":"17161:71:4"},"nodeType":"YulExpressionStatement","src":"17161:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"17286:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17299:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17310:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17295:3:4"},"nodeType":"YulFunctionCall","src":"17295:18:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17242:43:4"},"nodeType":"YulFunctionCall","src":"17242:72:4"},"nodeType":"YulExpressionStatement","src":"17242:72:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17335:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17346:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17331:3:4"},"nodeType":"YulFunctionCall","src":"17331:18:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"17355:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"17361:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17351:3:4"},"nodeType":"YulFunctionCall","src":"17351:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17324:6:4"},"nodeType":"YulFunctionCall","src":"17324:48:4"},"nodeType":"YulExpressionStatement","src":"17324:48:4"},{"nodeType":"YulAssignment","src":"17381:94:4","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"17453:6:4"},{"name":"value3","nodeType":"YulIdentifier","src":"17461:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"17470:4:4"}],"functionName":{"name":"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"17389:63:4"},"nodeType":"YulFunctionCall","src":"17389:86:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17381:4:4"}]},{"expression":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"17529:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17542:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17553:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17538:3:4"},"nodeType":"YulFunctionCall","src":"17538:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17485:43:4"},"nodeType":"YulFunctionCall","src":"17485:72:4"},"nodeType":"YulExpressionStatement","src":"17485:72:4"},{"expression":{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"17611:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17624:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17635:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17620:3:4"},"nodeType":"YulFunctionCall","src":"17620:19:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17567:43:4"},"nodeType":"YulFunctionCall","src":"17567:73:4"},"nodeType":"YulExpressionStatement","src":"17567:73:4"},{"expression":{"arguments":[{"name":"value6","nodeType":"YulIdentifier","src":"17694:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17707:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17718:3:4","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17703:3:4"},"nodeType":"YulFunctionCall","src":"17703:19:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17650:43:4"},"nodeType":"YulFunctionCall","src":"17650:73:4"},"nodeType":"YulExpressionStatement","src":"17650:73:4"},{"expression":{"arguments":[{"name":"value7","nodeType":"YulIdentifier","src":"17777:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17790:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17801:3:4","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17786:3:4"},"nodeType":"YulFunctionCall","src":"17786:19:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17733:43:4"},"nodeType":"YulFunctionCall","src":"17733:73:4"},"nodeType":"YulExpressionStatement","src":"17733:73:4"},{"expression":{"arguments":[{"name":"value8","nodeType":"YulIdentifier","src":"17860:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17873:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17884:3:4","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17869:3:4"},"nodeType":"YulFunctionCall","src":"17869:19:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17816:43:4"},"nodeType":"YulFunctionCall","src":"17816:73:4"},"nodeType":"YulExpressionStatement","src":"17816:73:4"},{"expression":{"arguments":[{"name":"value9","nodeType":"YulIdentifier","src":"17943:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17956:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17967:3:4","type":"","value":"256"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17952:3:4"},"nodeType":"YulFunctionCall","src":"17952:19:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17899:43:4"},"nodeType":"YulFunctionCall","src":"17899:73:4"},"nodeType":"YulExpressionStatement","src":"17899:73:4"},{"expression":{"arguments":[{"name":"value10","nodeType":"YulIdentifier","src":"18026:7:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18040:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18051:3:4","type":"","value":"288"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18036:3:4"},"nodeType":"YulFunctionCall","src":"18036:19:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17982:43:4"},"nodeType":"YulFunctionCall","src":"17982:74:4"},"nodeType":"YulExpressionStatement","src":"17982:74:4"}]},"name":"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes_calldata_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_bytes32_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17005:9:4","type":""},{"name":"value10","nodeType":"YulTypedName","src":"17017:7:4","type":""},{"name":"value9","nodeType":"YulTypedName","src":"17026:6:4","type":""},{"name":"value8","nodeType":"YulTypedName","src":"17034:6:4","type":""},{"name":"value7","nodeType":"YulTypedName","src":"17042:6:4","type":""},{"name":"value6","nodeType":"YulTypedName","src":"17050:6:4","type":""},{"name":"value5","nodeType":"YulTypedName","src":"17058:6:4","type":""},{"name":"value4","nodeType":"YulTypedName","src":"17066:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"17074:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17082:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17090:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17098:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17109:4:4","type":""}],"src":"16735:1328:4"},{"body":{"nodeType":"YulBlock","src":"18101:28:4","statements":[{"nodeType":"YulAssignment","src":"18111:12:4","value":{"name":"value","nodeType":"YulIdentifier","src":"18118:5:4"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"18111:3:4"}]}]},"name":"identity","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18087:5:4","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"18097:3:4","type":""}],"src":"18069:60:4"},{"body":{"nodeType":"YulBlock","src":"18194:81:4","statements":[{"nodeType":"YulAssignment","src":"18204:65:4","value":{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18261:5:4"}],"functionName":{"name":"cleanup_t_uint64","nodeType":"YulIdentifier","src":"18244:16:4"},"nodeType":"YulFunctionCall","src":"18244:23:4"}],"functionName":{"name":"identity","nodeType":"YulIdentifier","src":"18235:8:4"},"nodeType":"YulFunctionCall","src":"18235:33:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"18217:17:4"},"nodeType":"YulFunctionCall","src":"18217:52:4"},"variableNames":[{"name":"converted","nodeType":"YulIdentifier","src":"18204:9:4"}]}]},"name":"convert_t_uint64_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18174:5:4","type":""}],"returnVariables":[{"name":"converted","nodeType":"YulTypedName","src":"18184:9:4","type":""}],"src":"18135:140:4"},{"body":{"nodeType":"YulBlock","src":"18345:65:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18362:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18397:5:4"}],"functionName":{"name":"convert_t_uint64_to_t_uint256","nodeType":"YulIdentifier","src":"18367:29:4"},"nodeType":"YulFunctionCall","src":"18367:36:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18355:6:4"},"nodeType":"YulFunctionCall","src":"18355:49:4"},"nodeType":"YulExpressionStatement","src":"18355:49:4"}]},"name":"abi_encode_t_uint64_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18333:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"18340:3:4","type":""}],"src":"18281:129:4"},{"body":{"nodeType":"YulBlock","src":"18569:287:4","statements":[{"nodeType":"YulAssignment","src":"18579:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18591:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18602:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18587:3:4"},"nodeType":"YulFunctionCall","src":"18587:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18579:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18658:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18671:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18682:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18667:3:4"},"nodeType":"YulFunctionCall","src":"18667:17:4"}],"functionName":{"name":"abi_encode_t_uint64_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"18615:42:4"},"nodeType":"YulFunctionCall","src":"18615:70:4"},"nodeType":"YulExpressionStatement","src":"18615:70:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"18739:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18752:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18763:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18748:3:4"},"nodeType":"YulFunctionCall","src":"18748:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"18695:43:4"},"nodeType":"YulFunctionCall","src":"18695:72:4"},"nodeType":"YulExpressionStatement","src":"18695:72:4"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"18821:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18834:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18845:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18830:3:4"},"nodeType":"YulFunctionCall","src":"18830:18:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"18777:43:4"},"nodeType":"YulFunctionCall","src":"18777:72:4"},"nodeType":"YulExpressionStatement","src":"18777:72:4"}]},"name":"abi_encode_tuple_t_uint64_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18525:9:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"18537:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18545:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18553:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18564:4:4","type":""}],"src":"18416:440:4"},{"body":{"nodeType":"YulBlock","src":"19044:371:4","statements":[{"nodeType":"YulAssignment","src":"19054:27:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19066:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19077:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19062:3:4"},"nodeType":"YulFunctionCall","src":"19062:19:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19054:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19135:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19148:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19159:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19144:3:4"},"nodeType":"YulFunctionCall","src":"19144:17:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"19091:43:4"},"nodeType":"YulFunctionCall","src":"19091:71:4"},"nodeType":"YulExpressionStatement","src":"19091:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"19216:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19229:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19240:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19225:3:4"},"nodeType":"YulFunctionCall","src":"19225:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"19172:43:4"},"nodeType":"YulFunctionCall","src":"19172:72:4"},"nodeType":"YulExpressionStatement","src":"19172:72:4"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"19298:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19311:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19322:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19307:3:4"},"nodeType":"YulFunctionCall","src":"19307:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"19254:43:4"},"nodeType":"YulFunctionCall","src":"19254:72:4"},"nodeType":"YulExpressionStatement","src":"19254:72:4"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"19380:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19393:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19404:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19389:3:4"},"nodeType":"YulFunctionCall","src":"19389:18:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"19336:43:4"},"nodeType":"YulFunctionCall","src":"19336:72:4"},"nodeType":"YulExpressionStatement","src":"19336:72:4"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18992:9:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"19004:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19012:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19020:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19028:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19039:4:4","type":""}],"src":"18862:553:4"},{"body":{"nodeType":"YulBlock","src":"19449:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19466:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19469:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19459:6:4"},"nodeType":"YulFunctionCall","src":"19459:88:4"},"nodeType":"YulExpressionStatement","src":"19459:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19563:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"19566:4:4","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19556:6:4"},"nodeType":"YulFunctionCall","src":"19556:15:4"},"nodeType":"YulExpressionStatement","src":"19556:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19587:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19590:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19580:6:4"},"nodeType":"YulFunctionCall","src":"19580:15:4"},"nodeType":"YulExpressionStatement","src":"19580:15:4"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"19421:180:4"},{"body":{"nodeType":"YulBlock","src":"19650:43:4","statements":[{"nodeType":"YulAssignment","src":"19660:27:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19675:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"19682:4:4","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19671:3:4"},"nodeType":"YulFunctionCall","src":"19671:16:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"19660:7:4"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19632:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"19642:7:4","type":""}],"src":"19607:86:4"},{"body":{"nodeType":"YulBlock","src":"19740:77:4","statements":[{"body":{"nodeType":"YulBlock","src":"19795:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19804:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19807:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19797:6:4"},"nodeType":"YulFunctionCall","src":"19797:12:4"},"nodeType":"YulExpressionStatement","src":"19797:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19763:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19786:5:4"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"19770:15:4"},"nodeType":"YulFunctionCall","src":"19770:22:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19760:2:4"},"nodeType":"YulFunctionCall","src":"19760:33:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19753:6:4"},"nodeType":"YulFunctionCall","src":"19753:41:4"},"nodeType":"YulIf","src":"19750:61:4"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19733:5:4","type":""}],"src":"19699:118:4"},{"body":{"nodeType":"YulBlock","src":"19873:85:4","statements":[{"nodeType":"YulAssignment","src":"19883:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19905:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"19892:12:4"},"nodeType":"YulFunctionCall","src":"19892:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"19883:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19946:5:4"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"19921:24:4"},"nodeType":"YulFunctionCall","src":"19921:31:4"},"nodeType":"YulExpressionStatement","src":"19921:31:4"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"19851:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"19859:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"19867:5:4","type":""}],"src":"19823:135:4"},{"body":{"nodeType":"YulBlock","src":"20028:261:4","statements":[{"body":{"nodeType":"YulBlock","src":"20074:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"20076:77:4"},"nodeType":"YulFunctionCall","src":"20076:79:4"},"nodeType":"YulExpressionStatement","src":"20076:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20049:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"20058:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20045:3:4"},"nodeType":"YulFunctionCall","src":"20045:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"20070:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20041:3:4"},"nodeType":"YulFunctionCall","src":"20041:32:4"},"nodeType":"YulIf","src":"20038:119:4"},{"nodeType":"YulBlock","src":"20167:115:4","statements":[{"nodeType":"YulVariableDeclaration","src":"20182:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"20196:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20186:6:4","type":""}]},{"nodeType":"YulAssignment","src":"20211:61:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20244:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"20255:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20240:3:4"},"nodeType":"YulFunctionCall","src":"20240:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"20264:7:4"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"20221:18:4"},"nodeType":"YulFunctionCall","src":"20221:51:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20211:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19998:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20009:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20021:6:4","type":""}],"src":"19964:325:4"},{"body":{"nodeType":"YulBlock","src":"20361:263:4","statements":[{"body":{"nodeType":"YulBlock","src":"20407:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"20409:77:4"},"nodeType":"YulFunctionCall","src":"20409:79:4"},"nodeType":"YulExpressionStatement","src":"20409:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20382:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"20391:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20378:3:4"},"nodeType":"YulFunctionCall","src":"20378:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"20403:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20374:3:4"},"nodeType":"YulFunctionCall","src":"20374:32:4"},"nodeType":"YulIf","src":"20371:119:4"},{"nodeType":"YulBlock","src":"20500:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"20515:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"20529:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20519:6:4","type":""}]},{"nodeType":"YulAssignment","src":"20544:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20579:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"20590:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20575:3:4"},"nodeType":"YulFunctionCall","src":"20575:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"20599:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"20554:20:4"},"nodeType":"YulFunctionCall","src":"20554:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20544:6:4"}]}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20331:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20342:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20354:6:4","type":""}],"src":"20295:329:4"},{"body":{"nodeType":"YulBlock","src":"20674:147:4","statements":[{"nodeType":"YulAssignment","src":"20684:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20707:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"20689:17:4"},"nodeType":"YulFunctionCall","src":"20689:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"20684:1:4"}]},{"nodeType":"YulAssignment","src":"20718:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"20741:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"20723:17:4"},"nodeType":"YulFunctionCall","src":"20723:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"20718:1:4"}]},{"nodeType":"YulAssignment","src":"20752:16:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20763:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"20766:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20759:3:4"},"nodeType":"YulFunctionCall","src":"20759:9:4"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"20752:3:4"}]},{"body":{"nodeType":"YulBlock","src":"20792:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"20794:16:4"},"nodeType":"YulFunctionCall","src":"20794:18:4"},"nodeType":"YulExpressionStatement","src":"20794:18:4"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20784:1:4"},{"name":"sum","nodeType":"YulIdentifier","src":"20787:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20781:2:4"},"nodeType":"YulFunctionCall","src":"20781:10:4"},"nodeType":"YulIf","src":"20778:36:4"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"20661:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"20664:1:4","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"20670:3:4","type":""}],"src":"20630:191:4"},{"body":{"nodeType":"YulBlock","src":"20870:190:4","statements":[{"nodeType":"YulAssignment","src":"20880:33:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20907:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"20889:17:4"},"nodeType":"YulFunctionCall","src":"20889:24:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"20880:5:4"}]},{"body":{"nodeType":"YulBlock","src":"21003:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"21005:16:4"},"nodeType":"YulFunctionCall","src":"21005:18:4"},"nodeType":"YulExpressionStatement","src":"21005:18:4"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20928:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"20935:66:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"20925:2:4"},"nodeType":"YulFunctionCall","src":"20925:77:4"},"nodeType":"YulIf","src":"20922:103:4"},{"nodeType":"YulAssignment","src":"21034:20:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21045:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"21052:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21041:3:4"},"nodeType":"YulFunctionCall","src":"21041:13:4"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"21034:3:4"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"20856:5:4","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"20866:3:4","type":""}],"src":"20827:233:4"},{"body":{"nodeType":"YulBlock","src":"21113:32:4","statements":[{"nodeType":"YulAssignment","src":"21123:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"21134:5:4"},"variableNames":[{"name":"aligned","nodeType":"YulIdentifier","src":"21123:7:4"}]}]},"name":"leftAlign_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21095:5:4","type":""}],"returnVariables":[{"name":"aligned","nodeType":"YulTypedName","src":"21105:7:4","type":""}],"src":"21066:79:4"},{"body":{"nodeType":"YulBlock","src":"21234:74:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21251:3:4"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21294:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"21276:17:4"},"nodeType":"YulFunctionCall","src":"21276:24:4"}],"functionName":{"name":"leftAlign_t_bytes32","nodeType":"YulIdentifier","src":"21256:19:4"},"nodeType":"YulFunctionCall","src":"21256:45:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21244:6:4"},"nodeType":"YulFunctionCall","src":"21244:58:4"},"nodeType":"YulExpressionStatement","src":"21244:58:4"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21222:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"21229:3:4","type":""}],"src":"21151:157:4"},{"body":{"nodeType":"YulBlock","src":"21430:140:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21503:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"21512:3:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"21441:61:4"},"nodeType":"YulFunctionCall","src":"21441:75:4"},"nodeType":"YulExpressionStatement","src":"21441:75:4"},{"nodeType":"YulAssignment","src":"21525:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21536:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"21541:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21532:3:4"},"nodeType":"YulFunctionCall","src":"21532:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"21525:3:4"}]},{"nodeType":"YulAssignment","src":"21554:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"21561:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"21554:3:4"}]}]},"name":"abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21409:3:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21415:6:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"21426:3:4","type":""}],"src":"21314:256:4"},{"body":{"nodeType":"YulBlock","src":"21634:40:4","statements":[{"nodeType":"YulAssignment","src":"21645:22:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21661:5:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21655:5:4"},"nodeType":"YulFunctionCall","src":"21655:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"21645:6:4"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21617:5:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"21627:6:4","type":""}],"src":"21576:98:4"},{"body":{"nodeType":"YulBlock","src":"21793:34:4","statements":[{"nodeType":"YulAssignment","src":"21803:18:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"21818:3:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"21803:11:4"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21765:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"21770:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"21781:11:4","type":""}],"src":"21680:147:4"},{"body":{"nodeType":"YulBlock","src":"21895:184:4","statements":[{"nodeType":"YulVariableDeclaration","src":"21905:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"21914:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"21909:1:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"21974:63:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"21999:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"22004:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21995:3:4"},"nodeType":"YulFunctionCall","src":"21995:11:4"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"22018:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"22023:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22014:3:4"},"nodeType":"YulFunctionCall","src":"22014:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22008:5:4"},"nodeType":"YulFunctionCall","src":"22008:18:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21988:6:4"},"nodeType":"YulFunctionCall","src":"21988:39:4"},"nodeType":"YulExpressionStatement","src":"21988:39:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21935:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"21938:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"21932:2:4"},"nodeType":"YulFunctionCall","src":"21932:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"21946:19:4","statements":[{"nodeType":"YulAssignment","src":"21948:15:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21957:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"21960:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21953:3:4"},"nodeType":"YulFunctionCall","src":"21953:10:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"21948:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"21928:3:4","statements":[]},"src":"21924:113:4"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"22057:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"22062:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22053:3:4"},"nodeType":"YulFunctionCall","src":"22053:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"22071:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22046:6:4"},"nodeType":"YulFunctionCall","src":"22046:27:4"},"nodeType":"YulExpressionStatement","src":"22046:27:4"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"21877:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"21882:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"21887:6:4","type":""}],"src":"21833:246:4"},{"body":{"nodeType":"YulBlock","src":"22193:278:4","statements":[{"nodeType":"YulVariableDeclaration","src":"22203:52:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22249:5:4"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"22217:31:4"},"nodeType":"YulFunctionCall","src":"22217:38:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"22207:6:4","type":""}]},{"nodeType":"YulAssignment","src":"22264:95:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22347:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"22352:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"22271:75:4"},"nodeType":"YulFunctionCall","src":"22271:88:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"22264:3:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22407:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"22414:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22403:3:4"},"nodeType":"YulFunctionCall","src":"22403:16:4"},{"name":"pos","nodeType":"YulIdentifier","src":"22421:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"22426:6:4"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"22368:34:4"},"nodeType":"YulFunctionCall","src":"22368:65:4"},"nodeType":"YulExpressionStatement","src":"22368:65:4"},{"nodeType":"YulAssignment","src":"22442:23:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22453:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"22458:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22449:3:4"},"nodeType":"YulFunctionCall","src":"22449:16:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"22442:3:4"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"22174:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"22181:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"22189:3:4","type":""}],"src":"22085:386:4"},{"body":{"nodeType":"YulBlock","src":"22611:137:4","statements":[{"nodeType":"YulAssignment","src":"22622:100:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22709:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"22718:3:4"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"22629:79:4"},"nodeType":"YulFunctionCall","src":"22629:93:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"22622:3:4"}]},{"nodeType":"YulAssignment","src":"22732:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"22739:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"22732:3:4"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"22590:3:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22596:6:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"22607:3:4","type":""}],"src":"22477:271:4"},{"body":{"nodeType":"YulBlock","src":"22817:80:4","statements":[{"nodeType":"YulAssignment","src":"22827:22:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22842:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22836:5:4"},"nodeType":"YulFunctionCall","src":"22836:13:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"22827:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22885:5:4"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"22858:26:4"},"nodeType":"YulFunctionCall","src":"22858:33:4"},"nodeType":"YulExpressionStatement","src":"22858:33:4"}]},"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"22795:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"22803:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"22811:5:4","type":""}],"src":"22754:143:4"},{"body":{"nodeType":"YulBlock","src":"22980:274:4","statements":[{"body":{"nodeType":"YulBlock","src":"23026:83:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"23028:77:4"},"nodeType":"YulFunctionCall","src":"23028:79:4"},"nodeType":"YulExpressionStatement","src":"23028:79:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23001:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"23010:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22997:3:4"},"nodeType":"YulFunctionCall","src":"22997:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"23022:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22993:3:4"},"nodeType":"YulFunctionCall","src":"22993:32:4"},"nodeType":"YulIf","src":"22990:119:4"},{"nodeType":"YulBlock","src":"23119:128:4","statements":[{"nodeType":"YulVariableDeclaration","src":"23134:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"23148:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"23138:6:4","type":""}]},{"nodeType":"YulAssignment","src":"23163:74:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23209:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"23220:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23205:3:4"},"nodeType":"YulFunctionCall","src":"23205:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"23229:7:4"}],"functionName":{"name":"abi_decode_t_bytes32_fromMemory","nodeType":"YulIdentifier","src":"23173:31:4"},"nodeType":"YulFunctionCall","src":"23173:64:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23163:6:4"}]}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22950:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22961:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22973:6:4","type":""}],"src":"22903:351:4"},{"body":{"nodeType":"YulBlock","src":"23288:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23305:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23308:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23298:6:4"},"nodeType":"YulFunctionCall","src":"23298:88:4"},"nodeType":"YulExpressionStatement","src":"23298:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23402:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"23405:4:4","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23395:6:4"},"nodeType":"YulFunctionCall","src":"23395:15:4"},"nodeType":"YulExpressionStatement","src":"23395:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23426:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23429:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23419:6:4"},"nodeType":"YulFunctionCall","src":"23419:15:4"},"nodeType":"YulExpressionStatement","src":"23419:15:4"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"23260:180:4"},{"body":{"nodeType":"YulBlock","src":"23507:51:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"23524:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23545:5:4"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"23529:15:4"},"nodeType":"YulFunctionCall","src":"23529:22:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23517:6:4"},"nodeType":"YulFunctionCall","src":"23517:35:4"},"nodeType":"YulExpressionStatement","src":"23517:35:4"}]},"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23495:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"23502:3:4","type":""}],"src":"23446:112:4"},{"body":{"nodeType":"YulBlock","src":"23742:367:4","statements":[{"nodeType":"YulAssignment","src":"23752:27:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23764:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"23775:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23760:3:4"},"nodeType":"YulFunctionCall","src":"23760:19:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23752:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23833:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23846:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"23857:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23842:3:4"},"nodeType":"YulFunctionCall","src":"23842:17:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"23789:43:4"},"nodeType":"YulFunctionCall","src":"23789:71:4"},"nodeType":"YulExpressionStatement","src":"23789:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23910:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23923:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"23934:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23919:3:4"},"nodeType":"YulFunctionCall","src":"23919:18:4"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulIdentifier","src":"23870:39:4"},"nodeType":"YulFunctionCall","src":"23870:68:4"},"nodeType":"YulExpressionStatement","src":"23870:68:4"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"23992:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24005:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"24016:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24001:3:4"},"nodeType":"YulFunctionCall","src":"24001:18:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"23948:43:4"},"nodeType":"YulFunctionCall","src":"23948:72:4"},"nodeType":"YulExpressionStatement","src":"23948:72:4"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"24074:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24087:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"24098:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24083:3:4"},"nodeType":"YulFunctionCall","src":"24083:18:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"24030:43:4"},"nodeType":"YulFunctionCall","src":"24030:72:4"},"nodeType":"YulExpressionStatement","src":"24030:72:4"}]},"name":"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23690:9:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"23702:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"23710:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23718:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23726:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23737:4:4","type":""}],"src":"23564:545:4"}]},"contents":"{\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct OracleAttestationData\n function abi_decode_t_struct$_OracleAttestationData_$536_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 96) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // struct Validator[]\n function abi_decode_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x40)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // struct Signature[]\n function abi_decode_t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x60)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_struct$_OracleAttestationData_$536_calldata_ptrt_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_OracleAttestationData_$536_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function validator_revert_t_uint64(value) {\n if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint64(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint64(value)\n }\n\n function abi_decode_tuple_t_bytes32t_uint64t_uint256t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptrt_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value5, value6 := abi_decode_t_array$_t_struct$_Signature_$556_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_Validator_$561_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function calldata_access_t_address(baseRef, ptr) -> value {\n value := abi_decode_t_address(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function calldata_access_t_uint256(baseRef, ptr) -> value {\n value := abi_decode_t_uint256(ptr, add(ptr, 32))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n // struct Validator -> struct Validator\n function abi_encode_t_struct$_Validator_$561_calldata_ptr_to_t_struct$_Validator_$561_memory_ptr(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // addr\n\n let memberValue0 := calldata_access_t_address(value, add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // power\n\n let memberValue0 := calldata_access_t_uint256(value, add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encodeUpdatedPos_t_struct$_Validator_$561_calldata_ptr_to_t_struct$_Validator_$561_memory_ptr(value0, pos) -> updatedPos {\n abi_encode_t_struct$_Validator_$561_calldata_ptr_to_t_struct$_Validator_$561_memory_ptr(value0, pos)\n updatedPos := add(pos, 0x40)\n }\n\n function calldata_access_t_struct$_Validator_$561_calldata_ptr(baseRef, ptr) -> value {\n value := ptr\n }\n\n function array_nextElement_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x40)\n }\n\n // struct Validator[] -> struct Validator[]\n function abi_encode_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$561_memory_ptr_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_struct$_Validator_$561_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_struct$_Validator_$561_calldata_ptr(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_struct$_Validator_$561_calldata_ptr_to_t_struct$_Validator_$561_memory_ptr(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_struct$_Validator_$561_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_Validator_$561_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_struct$_Validator_$561_memory_ptr_$dyn_memory_ptr_fromStack(value0, value1, tail)\n\n }\n\n function revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() {\n revert(0, 0)\n }\n\n function revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() {\n revert(0, 0)\n }\n\n function revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() {\n revert(0, 0)\n }\n\n function access_calldata_tail_t_struct$_ReportData_$549_calldata_ptr(base_ref, ptr_to_tail) -> addr {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0xc0, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n length := calldataload(addr)\n if gt(length, 0xffffffffffffffff) { revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() }\n addr := add(addr, 32)\n if sgt(addr, sub(calldatasize(), mul(length, 0x01))) { revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() }\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes_calldata_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_bytes32_t_bytes_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256_t_bytes32_t_uint256_t_uint256__fromStack_reversed(headStart , value10, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 320)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value2, value3, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value6, add(headStart, 160))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value7, add(headStart, 192))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value8, add(headStart, 224))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value9, add(headStart, 256))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value10, add(headStart, 288))\n\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint64_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint64(value)))\n }\n\n function abi_encode_t_uint64_to_t_uint256_fromStack(value, pos) {\n mstore(pos, convert_t_uint64_to_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint64_t_uint256_t_bytes32__to_t_uint256_t_uint256_t_bytes32__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint64_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_bytes32_t_uint256_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_uint256_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\n }\n\n function abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function abi_decode_t_bytes32_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\n\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"593":[{"length":32,"start":2239},{"length":32,"start":2366}]},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636cf6d6751161008c578063af082a7d11610066578063af082a7d14610213578063ba95ec2714610231578063bd7c31531461024f578063d5f394881461026d576100ea565b80636cf6d675146101bb57806384330d4c146101d95780639e45a913146101f5576100ea565b80634394f6f3116100c85780634394f6f314610147578063452a9320146101635780634f76f1ee146101815780635e0d3b0f1461019f576100ea565b8063158ef93e146100ef578063185bf52b1461010d5780631a8bcd3414610129575b600080fd5b6100f761028b565b6040516101049190610dd5565b60405180910390f35b61012760048036038101906101229190610e66565b61029e565b005b610131610409565b60405161013e9190610ec8565b60405180910390f35b610161600480360381019061015c9190610ee3565b61040f565b005b61016b61051a565b6040516101789190610f8b565b60405180910390f35b61018961053e565b6040516101969190610ec8565b60405180910390f35b6101b960048036038101906101b49190611085565b610544565b005b6101c36106f4565b6040516101d09190610ec8565b60405180910390f35b6101f360048036038101906101ee9190611176565b6106fa565b005b6101fd6108bd565b60405161020a9190611241565b60405180910390f35b61021b6108e1565b6040516102289190611241565b60405180910390f35b6102396108e7565b6040516102469190610ec8565b60405180910390f35b6102576108ed565b6040516102649190611241565b60405180910390f35b610275610914565b6040516102829190610f8b565b60405180910390f35b600560149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610323576040517fef6d0f0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546103e860045461033691906112ba565b4261034191906112eb565b1015610379576040517f1c36ced200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045482116103b4576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260028190555081600481905550806001819055507fd7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb098383836040516103fc9392919061131f565b60405180910390a1505050565b6103e881565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610496576040517f8b906c9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560149054906101000a900460ff16156104dd576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff0219169083151502179055508360028190555082600481905550816003819055508060018190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b818190508484905014610583576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546105bd60025460045487876040516020016105a29291906114b5565b6040516020818303038152906040528051906020012061093a565b146105f4576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b866000013587806020019061062f91906114e8565b806000019061063e9190611510565b89806020019061064e91906114e8565b602001358a806020019061066291906114e8565b604001358b806020019061067691906114e8565b606001358c806020019061068a91906114e8565b608001356001548e604001358f80602001906106a691906114e8565b60a001356040516020016106c49b9a999897969594939291906115d1565b6040516020818303038152906040528051906020012090506106ec8585858585600254610992565b505050505050565b60035481565b818190508484905014610739576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454851015610775576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008667ffffffffffffffff16036107b9576040517fc3b70c8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084846040516020016107ce9291906114b5565b6040516020818303038152906040528051906020012090506001546107f86002546004548461093a565b1461082f576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108468867ffffffffffffffff16888b61093a565b90506108588686868685600254610992565b806001819055508767ffffffffffffffff16600281905550866004819055507fe304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e88888b6040516108aa939291906116b1565b60405180910390a1505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60025481565b7f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b81565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f000000000000000000000000000000000000000000000000000000000000000084848460405160200161097394939291906116e8565b6040516020818303038152906040528051906020012090509392505050565b6003546103e86004546109a591906112ba565b426109b091906112eb565b11156109e8576040517fe5e5e46400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b87879050811015610b49576000801b868683818110610a0e57610a0d61172d565b5b90506060020160200135148015610a4357506000801b868683818110610a3757610a3661172d565b5b90506060020160400135145b8015610a7c57506000868683818110610a5f57610a5e61172d565b5b9050606002016000016020810190610a779190611795565b60ff16145b610b3657610acd888883818110610a9657610a9561172d565b5b9050604002016000016020810190610aae91906117c2565b85888885818110610ac257610ac161172d565b5b905060600201610b8d565b610b03576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b878782818110610b1657610b1561172d565b5b9050604002016020013582610b2b91906117ef565b915082821015610b49575b8080610b4190611823565b9150506109ec565b5081811015610b84576040517fcabeb65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b6000600283604051602001610ba2919061188c565b604051602081830303815290604052604051610bbe9190611918565b602060405180830381855afa158015610bdb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610bfe9190611944565b9250600080610c2985856000016020810190610c1a9190611795565b86602001358760400135610cc6565b509150915060006003811115610c4257610c41611971565b5b816003811115610c5557610c54611971565b5b14610c8c576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115610d06576000600385925092509250610db0565b600060018888888860405160008152602001604052604051610d2b94939291906119af565b6020604051602081039080840390855afa158015610d4d573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610da157600060016000801b93509350935050610db0565b8060008060001b935093509350505b9450945094915050565b60008115159050919050565b610dcf81610dba565b82525050565b6000602082019050610dea6000830184610dc6565b92915050565b600080fd5b600080fd5b6000819050919050565b610e0d81610dfa565b8114610e1857600080fd5b50565b600081359050610e2a81610e04565b92915050565b6000819050919050565b610e4381610e30565b8114610e4e57600080fd5b50565b600081359050610e6081610e3a565b92915050565b600080600060608486031215610e7f57610e7e610df0565b5b6000610e8d86828701610e1b565b9350506020610e9e86828701610e1b565b9250506040610eaf86828701610e51565b9150509250925092565b610ec281610dfa565b82525050565b6000602082019050610edd6000830184610eb9565b92915050565b60008060008060808587031215610efd57610efc610df0565b5b6000610f0b87828801610e1b565b9450506020610f1c87828801610e1b565b9350506040610f2d87828801610e1b565b9250506060610f3e87828801610e51565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f7582610f4a565b9050919050565b610f8581610f6a565b82525050565b6000602082019050610fa06000830184610f7c565b92915050565b600080fd5b600060608284031215610fc157610fc0610fa6565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610fef57610fee610fca565b5b8235905067ffffffffffffffff81111561100c5761100b610fcf565b5b60208301915083604082028301111561102857611027610fd4565b5b9250929050565b60008083601f84011261104557611044610fca565b5b8235905067ffffffffffffffff81111561106257611061610fcf565b5b60208301915083606082028301111561107e5761107d610fd4565b5b9250929050565b6000806000806000606086880312156110a1576110a0610df0565b5b600086013567ffffffffffffffff8111156110bf576110be610df5565b5b6110cb88828901610fab565b955050602086013567ffffffffffffffff8111156110ec576110eb610df5565b5b6110f888828901610fd9565b9450945050604086013567ffffffffffffffff81111561111b5761111a610df5565b5b6111278882890161102f565b92509250509295509295909350565b600067ffffffffffffffff82169050919050565b61115381611136565b811461115e57600080fd5b50565b6000813590506111708161114a565b92915050565b600080600080600080600060a0888a03121561119557611194610df0565b5b60006111a38a828b01610e51565b97505060206111b48a828b01611161565b96505060406111c58a828b01610e1b565b955050606088013567ffffffffffffffff8111156111e6576111e5610df5565b5b6111f28a828b01610fd9565b9450945050608088013567ffffffffffffffff81111561121557611214610df5565b5b6112218a828b0161102f565b925092505092959891949750929550565b61123b81610e30565b82525050565b60006020820190506112566000830184611232565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112c582610dfa565b91506112d083610dfa565b9250826112e0576112df61125c565b5b828204905092915050565b60006112f682610dfa565b915061130183610dfa565b92508282039050818111156113195761131861128b565b5b92915050565b60006060820190506113346000830186610eb9565b6113416020830185610eb9565b61134e6040830184611232565b949350505050565b600082825260208201905092915050565b6000819050919050565b61137a81610f6a565b811461138557600080fd5b50565b60008135905061139781611371565b92915050565b60006113ac6020840184611388565b905092915050565b6113bd81610f6a565b82525050565b60006113d26020840184610e1b565b905092915050565b6113e381610dfa565b82525050565b604082016113fa600083018361139d565b61140760008501826113b4565b5061141560208301836113c3565b61142260208501826113da565b50505050565b600061143483836113e9565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006114648385611356565b935061146f82611367565b8060005b858110156114a8576114858284611440565b61148f8882611428565b975061149a8361144b565b925050600181019050611473565b5085925050509392505050565b600060208201905081810360008301526114d0818486611458565b90509392505050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112611504576115036114d9565b5b80830191505092915050565b6000808335600160200384360303811261152d5761152c6114d9565b5b80840192508235915067ffffffffffffffff82111561154f5761154e6114de565b5b60208301925060018202360383131561156b5761156a6114e3565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006115b08385611573565b93506115bd838584611584565b6115c683611593565b840190509392505050565b6000610140820190506115e7600083018e611232565b6115f4602083018d611232565b8181036040830152611607818b8d6115a4565b9050611616606083018a610eb9565b6116236080830189610eb9565b61163060a0830188610eb9565b61163d60c0830187610eb9565b61164a60e0830186611232565b611658610100830185610eb9565b611666610120830184610eb9565b9c9b505050505050505050505050565b6000819050919050565b600061169b61169661169184611136565b611676565b610dfa565b9050919050565b6116ab81611680565b82525050565b60006060820190506116c660008301866116a2565b6116d36020830185610eb9565b6116e06040830184611232565b949350505050565b60006080820190506116fd6000830187611232565b61170a6020830186610eb9565b6117176040830185610eb9565b6117246060830184611232565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6117728161175c565b811461177d57600080fd5b50565b60008135905061178f81611769565b92915050565b6000602082840312156117ab576117aa610df0565b5b60006117b984828501611780565b91505092915050565b6000602082840312156117d8576117d7610df0565b5b60006117e684828501611388565b91505092915050565b60006117fa82610dfa565b915061180583610dfa565b925082820190508082111561181d5761181c61128b565b5b92915050565b600061182e82610dfa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118605761185f61128b565b5b600182019050919050565b6000819050919050565b61188661188182610e30565b61186b565b82525050565b60006118988284611875565b60208201915081905092915050565b600081519050919050565b600081905092915050565b60005b838110156118db5780820151818401526020810190506118c0565b60008484015250505050565b60006118f2826118a7565b6118fc81856118b2565b935061190c8185602086016118bd565b80840191505092915050565b600061192482846118e7565b915081905092915050565b60008151905061193e81610e3a565b92915050565b60006020828403121561195a57611959610df0565b5b60006119688482850161192f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6119a98161175c565b82525050565b60006080820190506119c46000830187611232565b6119d160208301866119a0565b6119de6040830185611232565b6119eb6060830184611232565b9594505050505056fea2646970667358221220f1a0fa1576e34acb9d464e48852e4c9fd6a1700e01c80f69b0ddce502e250ae364736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6CF6D675 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xAF082A7D GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xAF082A7D EQ PUSH2 0x213 JUMPI DUP1 PUSH4 0xBA95EC27 EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0xBD7C3153 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xD5F39488 EQ PUSH2 0x26D JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x6CF6D675 EQ PUSH2 0x1BB JUMPI DUP1 PUSH4 0x84330D4C EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0x9E45A913 EQ PUSH2 0x1F5 JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x4394F6F3 GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x4394F6F3 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x452A9320 EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x4F76F1EE EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0x5E0D3B0F EQ PUSH2 0x19F JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x158EF93E EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x185BF52B EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x1A8BCD34 EQ PUSH2 0x129 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF7 PUSH2 0x28B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x104 SWAP2 SWAP1 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x127 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xE66 JUMP JUMPDEST PUSH2 0x29E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x131 PUSH2 0x409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xEE3 JUMP JUMPDEST PUSH2 0x40F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16B PUSH2 0x51A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x178 SWAP2 SWAP1 PUSH2 0xF8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH2 0x53E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B4 SWAP2 SWAP1 PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C3 PUSH2 0x6F4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D0 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x1176 JUMP JUMPDEST PUSH2 0x6FA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1FD PUSH2 0x8BD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20A SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x21B PUSH2 0x8E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x228 SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH2 0x8E7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x257 PUSH2 0x8ED JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x264 SWAP2 SWAP1 PUSH2 0x1241 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x275 PUSH2 0x914 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x282 SWAP2 SWAP1 PUSH2 0xF8B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x323 JUMPI PUSH1 0x40 MLOAD PUSH32 0xEF6D0F0200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x336 SWAP2 SWAP1 PUSH2 0x12BA JUMP JUMPDEST TIMESTAMP PUSH2 0x341 SWAP2 SWAP1 PUSH2 0x12EB JUMP JUMPDEST LT ISZERO PUSH2 0x379 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1C36CED200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP3 GT PUSH2 0x3B4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH32 0xD7067F3840022E90166B8566F9982288B89EC7479B8EB30FAD06290F18C8CB09 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x3FC SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x131F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x3E8 DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x496 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8B906C9700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x4DD JUMPI PUSH1 0x40 MLOAD PUSH32 0xDC149F000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x5 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x583 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x5BD PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x5A2 SWAP3 SWAP2 SWAP1 PUSH2 0x14B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x93A JUMP JUMPDEST EQ PUSH2 0x5F4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP7 PUSH1 0x0 ADD CALLDATALOAD DUP8 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x62F SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST DUP1 PUSH1 0x0 ADD SWAP1 PUSH2 0x63E SWAP2 SWAP1 PUSH2 0x1510 JUMP JUMPDEST DUP10 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x64E SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x20 ADD CALLDATALOAD DUP11 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x662 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x40 ADD CALLDATALOAD DUP12 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x676 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x60 ADD CALLDATALOAD DUP13 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x80 ADD CALLDATALOAD PUSH1 0x1 SLOAD DUP15 PUSH1 0x40 ADD CALLDATALOAD DUP16 DUP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x6A6 SWAP2 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0xA0 ADD CALLDATALOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x6C4 SWAP12 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH2 0x6EC DUP6 DUP6 DUP6 DUP6 DUP6 PUSH1 0x2 SLOAD PUSH2 0x992 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST DUP2 DUP2 SWAP1 POP DUP5 DUP5 SWAP1 POP EQ PUSH2 0x739 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6617B7B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0x775 JUMPI PUSH1 0x40 MLOAD PUSH32 0x780635D000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP7 PUSH8 0xFFFFFFFFFFFFFFFF AND SUB PUSH2 0x7B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC3B70C8800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7CE SWAP3 SWAP2 SWAP1 PUSH2 0x14B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 SLOAD PUSH2 0x7F8 PUSH1 0x2 SLOAD PUSH1 0x4 SLOAD DUP5 PUSH2 0x93A JUMP JUMPDEST EQ PUSH2 0x82F JUMPI PUSH1 0x40 MLOAD PUSH32 0x177B5D9200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x846 DUP9 PUSH8 0xFFFFFFFFFFFFFFFF AND DUP9 DUP12 PUSH2 0x93A JUMP JUMPDEST SWAP1 POP PUSH2 0x858 DUP7 DUP7 DUP7 DUP7 DUP6 PUSH1 0x2 SLOAD PUSH2 0x992 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP8 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP7 PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH32 0xE304B71F81A1AAF6D714401DE28BA1EBDBB5FF9C5FEE59EF2A6EB984F9E8DA7E DUP9 DUP9 DUP12 PUSH1 0x40 MLOAD PUSH2 0x8AA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16B1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH32 0x74656C6C6F7243757272656E744174746573746174696F6E0000000000000000 PUSH1 0x0 SHL DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x973 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x3E8 PUSH1 0x4 SLOAD PUSH2 0x9A5 SWAP2 SWAP1 PUSH2 0x12BA JUMP JUMPDEST TIMESTAMP PUSH2 0x9B0 SWAP2 SWAP1 PUSH2 0x12EB JUMP JUMPDEST GT ISZERO PUSH2 0x9E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0xE5E5E46400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST DUP8 DUP8 SWAP1 POP DUP2 LT ISZERO PUSH2 0xB49 JUMPI PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA0E JUMPI PUSH2 0xA0D PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x20 ADD CALLDATALOAD EQ DUP1 ISZERO PUSH2 0xA43 JUMPI POP PUSH1 0x0 DUP1 SHL DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA37 JUMPI PUSH2 0xA36 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x40 ADD CALLDATALOAD EQ JUMPDEST DUP1 ISZERO PUSH2 0xA7C JUMPI POP PUSH1 0x0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0xA5F JUMPI PUSH2 0xA5E PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xA77 SWAP2 SWAP1 PUSH2 0x1795 JUMP JUMPDEST PUSH1 0xFF AND EQ JUMPDEST PUSH2 0xB36 JUMPI PUSH2 0xACD DUP9 DUP9 DUP4 DUP2 DUP2 LT PUSH2 0xA96 JUMPI PUSH2 0xA95 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xAAE SWAP2 SWAP1 PUSH2 0x17C2 JUMP JUMPDEST DUP6 DUP9 DUP9 DUP6 DUP2 DUP2 LT PUSH2 0xAC2 JUMPI PUSH2 0xAC1 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x60 MUL ADD PUSH2 0xB8D JUMP JUMPDEST PUSH2 0xB03 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP8 DUP8 DUP3 DUP2 DUP2 LT PUSH2 0xB16 JUMPI PUSH2 0xB15 PUSH2 0x172D JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x40 MUL ADD PUSH1 0x20 ADD CALLDATALOAD DUP3 PUSH2 0xB2B SWAP2 SWAP1 PUSH2 0x17EF JUMP JUMPDEST SWAP2 POP DUP3 DUP3 LT ISZERO PUSH2 0xB49 JUMPI JUMPDEST DUP1 DUP1 PUSH2 0xB41 SWAP1 PUSH2 0x1823 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x9EC JUMP JUMPDEST POP DUP2 DUP2 LT ISZERO PUSH2 0xB84 JUMPI PUSH1 0x40 MLOAD PUSH32 0xCABEB65500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBA2 SWAP2 SWAP1 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xBBE SWAP2 SWAP1 PUSH2 0x1918 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBDB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xBFE SWAP2 SWAP1 PUSH2 0x1944 JUMP JUMPDEST SWAP3 POP PUSH1 0x0 DUP1 PUSH2 0xC29 DUP6 DUP6 PUSH1 0x0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xC1A SWAP2 SWAP1 PUSH2 0x1795 JUMP JUMPDEST DUP7 PUSH1 0x20 ADD CALLDATALOAD DUP8 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0xCC6 JUMP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC42 JUMPI PUSH2 0xC41 PUSH2 0x1971 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC55 JUMPI PUSH2 0xC54 PUSH2 0x1971 JUMP JUMPDEST JUMPDEST EQ PUSH2 0xC8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP5 PUSH1 0x0 SHR GT ISZERO PUSH2 0xD06 JUMPI PUSH1 0x0 PUSH1 0x3 DUP6 SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0xDB0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xD2B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x19AF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD4D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xDA1 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP1 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP PUSH2 0xDB0 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SHL SWAP4 POP SWAP4 POP SWAP4 POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCF DUP2 PUSH2 0xDBA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDEA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE0D DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP2 EQ PUSH2 0xE18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE2A DUP2 PUSH2 0xE04 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE43 DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP2 EQ PUSH2 0xE4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE60 DUP2 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE7F JUMPI PUSH2 0xE7E PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE8D DUP7 DUP3 DUP8 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xE9E DUP7 DUP3 DUP8 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xEAF DUP7 DUP3 DUP8 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0xEC2 DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEDD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xEB9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xEFD JUMPI PUSH2 0xEFC PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF0B DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xF1C DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0xF2D DUP8 DUP3 DUP9 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0xF3E DUP8 DUP3 DUP9 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF75 DUP3 PUSH2 0xF4A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF85 DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xFA0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFC1 JUMPI PUSH2 0xFC0 PUSH2 0xFA6 JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xFEF JUMPI PUSH2 0xFEE PUSH2 0xFCA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x100C JUMPI PUSH2 0x100B PUSH2 0xFCF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x40 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x1028 JUMPI PUSH2 0x1027 PUSH2 0xFD4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1045 JUMPI PUSH2 0x1044 PUSH2 0xFCA JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1062 JUMPI PUSH2 0x1061 PUSH2 0xFCF JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x60 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x107E JUMPI PUSH2 0x107D PUSH2 0xFD4 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x10A1 JUMPI PUSH2 0x10A0 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10BF JUMPI PUSH2 0x10BE PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x10CB DUP9 DUP3 DUP10 ADD PUSH2 0xFAB JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10EC JUMPI PUSH2 0x10EB PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x10F8 DUP9 DUP3 DUP10 ADD PUSH2 0xFD9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x111B JUMPI PUSH2 0x111A PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x1127 DUP9 DUP3 DUP10 ADD PUSH2 0x102F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1153 DUP2 PUSH2 0x1136 JUMP JUMPDEST DUP2 EQ PUSH2 0x115E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1170 DUP2 PUSH2 0x114A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1195 JUMPI PUSH2 0x1194 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11A3 DUP11 DUP3 DUP12 ADD PUSH2 0xE51 JUMP JUMPDEST SWAP8 POP POP PUSH1 0x20 PUSH2 0x11B4 DUP11 DUP3 DUP12 ADD PUSH2 0x1161 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 PUSH2 0x11C5 DUP11 DUP3 DUP12 ADD PUSH2 0xE1B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x11E6 JUMPI PUSH2 0x11E5 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x11F2 DUP11 DUP3 DUP12 ADD PUSH2 0xFD9 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1215 JUMPI PUSH2 0x1214 PUSH2 0xDF5 JUMP JUMPDEST JUMPDEST PUSH2 0x1221 DUP11 DUP3 DUP12 ADD PUSH2 0x102F JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH2 0x123B DUP2 PUSH2 0xE30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1256 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x12C5 DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x12D0 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x12E0 JUMPI PUSH2 0x12DF PUSH2 0x125C JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12F6 DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x1301 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1319 JUMPI PUSH2 0x1318 PUSH2 0x128B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1334 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1341 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x134E PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x137A DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP2 EQ PUSH2 0x1385 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1397 DUP2 PUSH2 0x1371 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13AC PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0x1388 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13BD DUP2 PUSH2 0xF6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13D2 PUSH1 0x20 DUP5 ADD DUP5 PUSH2 0xE1B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13E3 DUP2 PUSH2 0xDFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH2 0x13FA PUSH1 0x0 DUP4 ADD DUP4 PUSH2 0x139D JUMP JUMPDEST PUSH2 0x1407 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x13B4 JUMP JUMPDEST POP PUSH2 0x1415 PUSH1 0x20 DUP4 ADD DUP4 PUSH2 0x13C3 JUMP JUMPDEST PUSH2 0x1422 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x13DA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1434 DUP4 DUP4 PUSH2 0x13E9 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1464 DUP4 DUP6 PUSH2 0x1356 JUMP JUMPDEST SWAP4 POP PUSH2 0x146F DUP3 PUSH2 0x1367 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x14A8 JUMPI PUSH2 0x1485 DUP3 DUP5 PUSH2 0x1440 JUMP JUMPDEST PUSH2 0x148F DUP9 DUP3 PUSH2 0x1428 JUMP JUMPDEST SWAP8 POP PUSH2 0x149A DUP4 PUSH2 0x144B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1473 JUMP JUMPDEST POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14D0 DUP2 DUP5 DUP7 PUSH2 0x1458 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0xC0 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x1504 JUMPI PUSH2 0x1503 PUSH2 0x14D9 JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0x152D JUMPI PUSH2 0x152C PUSH2 0x14D9 JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x154F JUMPI PUSH2 0x154E PUSH2 0x14DE JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0x156B JUMPI PUSH2 0x156A PUSH2 0x14E3 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B0 DUP4 DUP6 PUSH2 0x1573 JUMP JUMPDEST SWAP4 POP PUSH2 0x15BD DUP4 DUP6 DUP5 PUSH2 0x1584 JUMP JUMPDEST PUSH2 0x15C6 DUP4 PUSH2 0x1593 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP3 ADD SWAP1 POP PUSH2 0x15E7 PUSH1 0x0 DUP4 ADD DUP15 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x15F4 PUSH1 0x20 DUP4 ADD DUP14 PUSH2 0x1232 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1607 DUP2 DUP12 DUP14 PUSH2 0x15A4 JUMP JUMPDEST SWAP1 POP PUSH2 0x1616 PUSH1 0x60 DUP4 ADD DUP11 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1623 PUSH1 0x80 DUP4 ADD DUP10 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1630 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x163D PUSH1 0xC0 DUP4 ADD DUP8 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x164A PUSH1 0xE0 DUP4 ADD DUP7 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x1658 PUSH2 0x100 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1666 PUSH2 0x120 DUP4 ADD DUP5 PUSH2 0xEB9 JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x169B PUSH2 0x1696 PUSH2 0x1691 DUP5 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x1676 JUMP JUMPDEST PUSH2 0xDFA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16AB DUP2 PUSH2 0x1680 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x16C6 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x16A2 JUMP JUMPDEST PUSH2 0x16D3 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x16E0 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x16FD PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x170A PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1717 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xEB9 JUMP JUMPDEST PUSH2 0x1724 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1772 DUP2 PUSH2 0x175C JUMP JUMPDEST DUP2 EQ PUSH2 0x177D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x178F DUP2 PUSH2 0x1769 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17AB JUMPI PUSH2 0x17AA PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17B9 DUP5 DUP3 DUP6 ADD PUSH2 0x1780 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17D8 JUMPI PUSH2 0x17D7 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x17E6 DUP5 DUP3 DUP6 ADD PUSH2 0x1388 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17FA DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH2 0x1805 DUP4 PUSH2 0xDFA JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x181D JUMPI PUSH2 0x181C PUSH2 0x128B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x182E DUP3 PUSH2 0xDFA JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1860 JUMPI PUSH2 0x185F PUSH2 0x128B JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1886 PUSH2 0x1881 DUP3 PUSH2 0xE30 JUMP JUMPDEST PUSH2 0x186B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1898 DUP3 DUP5 PUSH2 0x1875 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x18DB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x18C0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18F2 DUP3 PUSH2 0x18A7 JUMP JUMPDEST PUSH2 0x18FC DUP2 DUP6 PUSH2 0x18B2 JUMP JUMPDEST SWAP4 POP PUSH2 0x190C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x18BD JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1924 DUP3 DUP5 PUSH2 0x18E7 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x193E DUP2 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x195A JUMPI PUSH2 0x1959 PUSH2 0xDF0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1968 DUP5 DUP3 DUP6 ADD PUSH2 0x192F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x19A9 DUP2 PUSH2 0x175C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x19C4 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x19D1 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x19A0 JUMP JUMPDEST PUSH2 0x19DE PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1232 JUMP JUMPDEST PUSH2 0x19EB PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1232 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALL LOG0 STATICCALL ISZERO PUSH23 0xE34ACB9D464E48852E4C9FD6A1700E01C80F69B0DDCE50 0x2E 0x25 EXP 0xE3 PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"949:11667:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1574:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4694:768;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1644:44;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3756:567;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1007:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1407:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7909:1482;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1305:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5967:1673;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2232:60;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1113:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1220:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1739:170;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1505:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1574;;;;;;;;;;;;;:::o;4694:768::-;4883:8;;;;;;;;;;4869:22;;:10;:22;;;4865:73;;4914:13;;;;;;;;;;;;;;4865:73;5008:15;;1684:4;4970:18;;:34;;;;:::i;:::-;4951:15;:54;;;;:::i;:::-;:72;4947:132;;;5046:22;;;;;;;;;;;;;;4947:132;5115:18;;5092:19;:41;5088:111;;5156:32;;;;;;;;;;;;;;5088:111;5225:15;5208:14;:32;;;;5271:19;5250:18;:40;;;;5329:23;5300:26;:52;;;;5367:88;5393:15;5410:19;5431:23;5367:88;;;;;;;;:::i;:::-;;;;;;;;4694:768;;;:::o;1644:44::-;1684:4;1644:44;:::o;3756:567::-;3958:8;;;;;;;;;;;3944:22;;:10;:22;;;3940:73;;3989:13;;;;;;;;;;;;;;3940:73;4026:11;;;;;;;;;;;4022:69;;;4060:20;;;;;;;;;;;;;;4022:69;4114:4;4100:11;;:18;;;;;;;;;;;;;;;;;;4145:15;4128:14;:32;;;;4191:19;4170:18;:40;;;;4238:16;4220:15;:34;;;;4293:23;4264:26;:52;;;;3756:567;;;;:::o;1007:23::-;;;;;;;;;;;;:::o;1407:33::-;;;;:::o;7909:1482::-;8138:5;;:12;;8107:20;;:27;;:43;8103:111;;8173:30;;;;;;;;;;;;;;8103:111;8505:26;;8327:174;8376:14;;8408:18;;8465:20;;8454:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8444:43;;;;;;8327:31;:174::i;:::-;:204;8310:293;;8563:29;;;;;;;;;;;;;;8310:293;8612:19;1843:66;8693:39;;8754:11;:19;;;8795:11;:18;;;;;;;;:::i;:::-;:24;;;;;;;;:::i;:::-;8841:11;:18;;;;;;;;:::i;:::-;:28;;;8891:11;:18;;;;;;;;:::i;:::-;:33;;;8946:11;:18;;;;;;;;:::i;:::-;:36;;;9004:11;:18;;;;;;;;:::i;:::-;:32;;;9058:26;;9106:11;:32;;;9160:11;:18;;;;;;;;:::i;:::-;:41;;;8661:558;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8634:599;;;;;;8612:621;;9243:141;9282:20;;9316:5;;9335:11;9360:14;;9243:25;:141::i;:::-;8093:1298;7909:1482;;;;;:::o;1305:30::-;;;;:::o;5967:1673::-;6255:5;;:12;;6224:20;;:27;;:43;6220:111;;6290:30;;;;;;;;;;;;;;6220:111;6369:18;;6344:22;:43;6340:113;;;6410:32;;;;;;;;;;;;;;6340:113;6488:1;6466:18;:23;;;6462:84;;6512:23;;;;;;;;;;;;;;6462:84;6642:32;6698:20;;6687:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6677:43;;;;;;6642:78;;6906:26;;6747:155;6796:14;;6828:18;;6864:24;6747:31;:155::i;:::-;:185;6730:274;;6964:29;;;;;;;;;;;;;;6730:274;7014:22;7039:143;7084:18;7039:143;;7116:22;7152:20;7039:31;:143::i;:::-;7014:168;;7192:144;7231:20;;7265:5;;7284:14;7312;;7192:25;:144::i;:::-;7375:14;7346:26;:43;;;;7416:18;7399:35;;:14;:35;;;;7465:22;7444:18;:43;;;;7502:131;7535:18;7567:22;7603:20;7502:131;;;;;;;;:::i;:::-;;;;;;;;6210:1430;;5967:1673;;;;;;;:::o;2232:60::-;;;:::o;1113:41::-;;;;:::o;1220:29::-;;;;:::o;1739:170::-;1843:66;1739:170;;;:::o;1505:23::-;;;;;;;;;;;;;:::o;11451:463::-;11626:7;11723:35;11780:15;11817:19;11858:17;11691:202;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11664:243;;;;;;11645:262;;11451:463;;;;;:::o;9835:1227::-;10158:15;;1684:4;10120:18;;:34;;;;:::i;:::-;10101:15;:54;;;;:::i;:::-;:72;10097:129;;;10196:19;;;;;;;;;;;;;;10097:129;10235:24;10278:10;10273:677;10299:18;;:25;;10294:2;:30;10273:677;;;10440:1;10425:16;;:5;;10431:2;10425:9;;;;;;;:::i;:::-;;;;;;;:11;;;:16;:36;;;;;10460:1;10445:16;;:5;;10451:2;10445:9;;;;;;;:::i;:::-;;;;;;;:11;;;:16;10425:36;:56;;;;;10480:1;10465:5;;10471:2;10465:9;;;;;;;:::i;:::-;;;;;;;:11;;;;;;;;;;:::i;:::-;:16;;;10425:56;10501:8;10421:103;10618:59;10629:18;;10648:2;10629:22;;;;;;;:::i;:::-;;;;;;;:27;;;;;;;;;;:::i;:::-;10658:7;10667:5;;10673:2;10667:9;;;;;;;:::i;:::-;;;;;;;10618:10;:59::i;:::-;10613:124;;10704:18;;;;;;;;;;;;;;10613:124;10770:18;;10789:2;10770:22;;;;;;;:::i;:::-;;;;;;;:28;;;10750:48;;;;;:::i;:::-;;;10885:15;10865:16;:35;10861:79;10920:5;10861:79;10273:677;10326:4;;;;;:::i;:::-;;;;10273:677;;;;10982:15;10963:16;:34;10959:97;;;11020:25;;;;;;;;;;;;;;10959:97;10087:975;9835:1227;;;;;;:::o;12186:428::-;12318:4;12344:33;12368:7;12351:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;12344:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12334:43;;12388:18;12408;12432:43;12443:7;12452:4;:6;;;;;;;;;;:::i;:::-;12460:4;:6;;;12468:4;:6;;;12432:10;:43::i;:::-;12387:88;;;;;12498:20;12489:29;;;;;;;;:::i;:::-;;:5;:29;;;;;;;;:::i;:::-;;;12485:85;;12541:18;;;;;;;;;;;;;;12485:85;12597:10;12586:21;;:7;:21;;;12579:28;;;;12186:428;;;;;:::o;5439:1564:2:-;5565:7;5574:12;5588:7;6523:66;6506:1;6498:10;;:91;6481:198;;;6630:1;6634:30;6666:1;6614:54;;;;;;;;6481:198;6773:14;6790:24;6800:4;6806:1;6809;6812;6790:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6773:41;;6846:1;6828:20;;:6;:20;;;6824:113;;6880:1;6884:29;6923:1;6915:10;;6864:62;;;;;;;;;6824:113;6955:6;6963:20;6993:1;6985:10;;6947:49;;;;;;;5439:1564;;;;;;;;;:::o;7:90:4:-;41:7;84:5;77:13;70:21;59:32;;7:90;;;:::o;103:109::-;184:21;199:5;184:21;:::i;:::-;179:3;172:34;103:109;;:::o;218:210::-;305:4;343:2;332:9;328:18;320:26;;356:65;418:1;407:9;403:17;394:6;356:65;:::i;:::-;218:210;;;;:::o;515:117::-;624:1;621;614:12;638:117;747:1;744;737:12;761:77;798:7;827:5;816:16;;761:77;;;:::o;844:122::-;917:24;935:5;917:24;:::i;:::-;910:5;907:35;897:63;;956:1;953;946:12;897:63;844:122;:::o;972:139::-;1018:5;1056:6;1043:20;1034:29;;1072:33;1099:5;1072:33;:::i;:::-;972:139;;;;:::o;1117:77::-;1154:7;1183:5;1172:16;;1117:77;;;:::o;1200:122::-;1273:24;1291:5;1273:24;:::i;:::-;1266:5;1263:35;1253:63;;1312:1;1309;1302:12;1253:63;1200:122;:::o;1328:139::-;1374:5;1412:6;1399:20;1390:29;;1428:33;1455:5;1428:33;:::i;:::-;1328:139;;;;:::o;1473:619::-;1550:6;1558;1566;1615:2;1603:9;1594:7;1590:23;1586:32;1583:119;;;1621:79;;:::i;:::-;1583:119;1741:1;1766:53;1811:7;1802:6;1791:9;1787:22;1766:53;:::i;:::-;1756:63;;1712:117;1868:2;1894:53;1939:7;1930:6;1919:9;1915:22;1894:53;:::i;:::-;1884:63;;1839:118;1996:2;2022:53;2067:7;2058:6;2047:9;2043:22;2022:53;:::i;:::-;2012:63;;1967:118;1473:619;;;;;:::o;2098:118::-;2185:24;2203:5;2185:24;:::i;:::-;2180:3;2173:37;2098:118;;:::o;2222:222::-;2315:4;2353:2;2342:9;2338:18;2330:26;;2366:71;2434:1;2423:9;2419:17;2410:6;2366:71;:::i;:::-;2222:222;;;;:::o;2450:765::-;2536:6;2544;2552;2560;2609:3;2597:9;2588:7;2584:23;2580:33;2577:120;;;2616:79;;:::i;:::-;2577:120;2736:1;2761:53;2806:7;2797:6;2786:9;2782:22;2761:53;:::i;:::-;2751:63;;2707:117;2863:2;2889:53;2934:7;2925:6;2914:9;2910:22;2889:53;:::i;:::-;2879:63;;2834:118;2991:2;3017:53;3062:7;3053:6;3042:9;3038:22;3017:53;:::i;:::-;3007:63;;2962:118;3119:2;3145:53;3190:7;3181:6;3170:9;3166:22;3145:53;:::i;:::-;3135:63;;3090:118;2450:765;;;;;;;:::o;3221:126::-;3258:7;3298:42;3291:5;3287:54;3276:65;;3221:126;;;:::o;3353:96::-;3390:7;3419:24;3437:5;3419:24;:::i;:::-;3408:35;;3353:96;;;:::o;3455:118::-;3542:24;3560:5;3542:24;:::i;:::-;3537:3;3530:37;3455:118;;:::o;3579:222::-;3672:4;3710:2;3699:9;3695:18;3687:26;;3723:71;3791:1;3780:9;3776:17;3767:6;3723:71;:::i;:::-;3579:222;;;;:::o;3807:117::-;3916:1;3913;3906:12;3966:244;4052:5;4093:2;4084:6;4079:3;4075:16;4071:25;4068:112;;;4099:79;;:::i;:::-;4068:112;4198:6;4189:15;;3966:244;;;;:::o;4216:117::-;4325:1;4322;4315:12;4339:117;4448:1;4445;4438:12;4462:117;4571:1;4568;4561:12;4611:596;4712:8;4722:6;4772:3;4765:4;4757:6;4753:17;4749:27;4739:122;;4780:79;;:::i;:::-;4739:122;4893:6;4880:20;4870:30;;4923:18;4915:6;4912:30;4909:117;;;4945:79;;:::i;:::-;4909:117;5059:4;5051:6;5047:17;5035:29;;5113:3;5105:4;5097:6;5093:17;5083:8;5079:32;5076:41;5073:128;;;5120:79;;:::i;:::-;5073:128;4611:596;;;;;:::o;5239:::-;5340:8;5350:6;5400:3;5393:4;5385:6;5381:17;5377:27;5367:122;;5408:79;;:::i;:::-;5367:122;5521:6;5508:20;5498:30;;5551:18;5543:6;5540:30;5537:117;;;5573:79;;:::i;:::-;5537:117;5687:4;5679:6;5675:17;5663:29;;5741:3;5733:4;5725:6;5721:17;5711:8;5707:32;5704:41;5701:128;;;5748:79;;:::i;:::-;5701:128;5239:596;;;;;:::o;5841:1431::-;6068:6;6076;6084;6092;6100;6149:2;6137:9;6128:7;6124:23;6120:32;6117:119;;;6155:79;;:::i;:::-;6117:119;6303:1;6292:9;6288:17;6275:31;6333:18;6325:6;6322:30;6319:117;;;6355:79;;:::i;:::-;6319:117;6460:93;6545:7;6536:6;6525:9;6521:22;6460:93;:::i;:::-;6450:103;;6246:317;6630:2;6619:9;6615:18;6602:32;6661:18;6653:6;6650:30;6647:117;;;6683:79;;:::i;:::-;6647:117;6796:108;6896:7;6887:6;6876:9;6872:22;6796:108;:::i;:::-;6778:126;;;;6573:341;6981:2;6970:9;6966:18;6953:32;7012:18;7004:6;7001:30;6998:117;;;7034:79;;:::i;:::-;6998:117;7147:108;7247:7;7238:6;7227:9;7223:22;7147:108;:::i;:::-;7129:126;;;;6924:341;5841:1431;;;;;;;;:::o;7278:101::-;7314:7;7354:18;7347:5;7343:30;7332:41;;7278:101;;;:::o;7385:120::-;7457:23;7474:5;7457:23;:::i;:::-;7450:5;7447:34;7437:62;;7495:1;7492;7485:12;7437:62;7385:120;:::o;7511:137::-;7556:5;7594:6;7581:20;7572:29;;7610:32;7636:5;7610:32;:::i;:::-;7511:137;;;;:::o;7654:1481::-;7858:6;7866;7874;7882;7890;7898;7906;7955:3;7943:9;7934:7;7930:23;7926:33;7923:120;;;7962:79;;:::i;:::-;7923:120;8082:1;8107:53;8152:7;8143:6;8132:9;8128:22;8107:53;:::i;:::-;8097:63;;8053:117;8209:2;8235:52;8279:7;8270:6;8259:9;8255:22;8235:52;:::i;:::-;8225:62;;8180:117;8336:2;8362:53;8407:7;8398:6;8387:9;8383:22;8362:53;:::i;:::-;8352:63;;8307:118;8492:2;8481:9;8477:18;8464:32;8523:18;8515:6;8512:30;8509:117;;;8545:79;;:::i;:::-;8509:117;8658:108;8758:7;8749:6;8738:9;8734:22;8658:108;:::i;:::-;8640:126;;;;8435:341;8843:3;8832:9;8828:19;8815:33;8875:18;8867:6;8864:30;8861:117;;;8897:79;;:::i;:::-;8861:117;9010:108;9110:7;9101:6;9090:9;9086:22;9010:108;:::i;:::-;8992:126;;;;8786:342;7654:1481;;;;;;;;;;:::o;9141:118::-;9228:24;9246:5;9228:24;:::i;:::-;9223:3;9216:37;9141:118;;:::o;9265:222::-;9358:4;9396:2;9385:9;9381:18;9373:26;;9409:71;9477:1;9466:9;9462:17;9453:6;9409:71;:::i;:::-;9265:222;;;;:::o;9493:180::-;9541:77;9538:1;9531:88;9638:4;9635:1;9628:15;9662:4;9659:1;9652:15;9679:180;9727:77;9724:1;9717:88;9824:4;9821:1;9814:15;9848:4;9845:1;9838:15;9865:185;9905:1;9922:20;9940:1;9922:20;:::i;:::-;9917:25;;9956:20;9974:1;9956:20;:::i;:::-;9951:25;;9995:1;9985:35;;10000:18;;:::i;:::-;9985:35;10042:1;10039;10035:9;10030:14;;9865:185;;;;:::o;10056:194::-;10096:4;10116:20;10134:1;10116:20;:::i;:::-;10111:25;;10150:20;10168:1;10150:20;:::i;:::-;10145:25;;10194:1;10191;10187:9;10179:17;;10218:1;10212:4;10209:11;10206:37;;;10223:18;;:::i;:::-;10206:37;10056:194;;;;:::o;10256:442::-;10405:4;10443:2;10432:9;10428:18;10420:26;;10456:71;10524:1;10513:9;10509:17;10500:6;10456:71;:::i;:::-;10537:72;10605:2;10594:9;10590:18;10581:6;10537:72;:::i;:::-;10619;10687:2;10676:9;10672:18;10663:6;10619:72;:::i;:::-;10256:442;;;;;;:::o;10704:210::-;10829:11;10863:6;10858:3;10851:19;10903:4;10898:3;10894:14;10879:29;;10704:210;;;;:::o;10920:130::-;11017:4;11040:3;11032:11;;10920:130;;;:::o;11056:122::-;11129:24;11147:5;11129:24;:::i;:::-;11122:5;11119:35;11109:63;;11168:1;11165;11158:12;11109:63;11056:122;:::o;11184:139::-;11230:5;11268:6;11255:20;11246:29;;11284:33;11311:5;11284:33;:::i;:::-;11184:139;;;;:::o;11329:122::-;11381:5;11406:39;11441:2;11436:3;11432:12;11427:3;11406:39;:::i;:::-;11397:48;;11329:122;;;;:::o;11457:108::-;11534:24;11552:5;11534:24;:::i;:::-;11529:3;11522:37;11457:108;;:::o;11571:122::-;11623:5;11648:39;11683:2;11678:3;11674:12;11669:3;11648:39;:::i;:::-;11639:48;;11571:122;;;;:::o;11699:108::-;11776:24;11794:5;11776:24;:::i;:::-;11771:3;11764:37;11699:108;;:::o;11857:556::-;11998:4;11993:3;11989:14;12068:50;12112:4;12105:5;12101:16;12094:5;12068:50;:::i;:::-;12131:63;12188:4;12183:3;12179:14;12165:12;12131:63;:::i;:::-;12013:191;12270:50;12314:4;12307:5;12303:16;12296:5;12270:50;:::i;:::-;12333:63;12390:4;12385:3;12381:14;12367:12;12333:63;:::i;:::-;12214:192;11967:446;11857:556;;:::o;12419:287::-;12542:10;12563:100;12659:3;12651:6;12563:100;:::i;:::-;12695:4;12690:3;12686:14;12672:28;;12419:287;;;;:::o;12712:114::-;12792:5;12817:3;12808:12;;12712:114;;;;:::o;12832:143::-;12932:4;12964;12959:3;12955:14;12947:22;;12832:143;;;:::o;13029:917::-;13212:3;13235:112;13340:6;13335:3;13235:112;:::i;:::-;13228:119;;13371:86;13451:5;13371:86;:::i;:::-;13480:7;13511:1;13496:425;13521:6;13518:1;13515:13;13496:425;;;13591:70;13654:6;13645:7;13591:70;:::i;:::-;13681:117;13794:3;13779:13;13681:117;:::i;:::-;13674:124;;13821:90;13904:6;13821:90;:::i;:::-;13811:100;;13556:365;13543:1;13540;13536:9;13531:14;;13496:425;;;13500:14;13937:3;13930:10;;13217:729;;13029:917;;;;;:::o;13952:501::-;14159:4;14197:2;14186:9;14182:18;14174:26;;14246:9;14240:4;14236:20;14232:1;14221:9;14217:17;14210:47;14274:172;14441:4;14432:6;14424;14274:172;:::i;:::-;14266:180;;13952:501;;;;;:::o;14459:117::-;14568:1;14565;14558:12;14582:117;14691:1;14688;14681:12;14705:117;14814:1;14811;14804:12;14828:395;14923:4;14977:11;14964:25;15077:1;15071:4;15067:12;15056:8;15040:14;15036:29;15032:48;15012:18;15008:73;14998:168;;15085:79;;:::i;:::-;14998:168;15197:18;15187:8;15183:33;15175:41;;14928:295;14828:395;;;;:::o;15229:724::-;15306:4;15312:6;15368:11;15355:25;15468:1;15462:4;15458:12;15447:8;15431:14;15427:29;15423:48;15403:18;15399:73;15389:168;;15476:79;;:::i;:::-;15389:168;15588:18;15578:8;15574:33;15566:41;;15640:4;15627:18;15617:28;;15668:18;15660:6;15657:30;15654:117;;;15690:79;;:::i;:::-;15654:117;15798:2;15792:4;15788:13;15780:21;;15855:4;15847:6;15843:17;15827:14;15823:38;15817:4;15813:49;15810:136;;;15865:79;;:::i;:::-;15810:136;15319:634;15229:724;;;;;:::o;15959:168::-;16042:11;16076:6;16071:3;16064:19;16116:4;16111:3;16107:14;16092:29;;15959:168;;;;:::o;16133:146::-;16230:6;16225:3;16220;16207:30;16271:1;16262:6;16257:3;16253:16;16246:27;16133:146;;;:::o;16285:102::-;16326:6;16377:2;16373:7;16368:2;16361:5;16357:14;16353:28;16343:38;;16285:102;;;:::o;16415:314::-;16511:3;16532:70;16595:6;16590:3;16532:70;:::i;:::-;16525:77;;16612:56;16661:6;16656:3;16649:5;16612:56;:::i;:::-;16693:29;16715:6;16693:29;:::i;:::-;16688:3;16684:39;16677:46;;16415:314;;;;;:::o;16735:1328::-;17109:4;17147:3;17136:9;17132:19;17124:27;;17161:71;17229:1;17218:9;17214:17;17205:6;17161:71;:::i;:::-;17242:72;17310:2;17299:9;17295:18;17286:6;17242:72;:::i;:::-;17361:9;17355:4;17351:20;17346:2;17335:9;17331:18;17324:48;17389:86;17470:4;17461:6;17453;17389:86;:::i;:::-;17381:94;;17485:72;17553:2;17542:9;17538:18;17529:6;17485:72;:::i;:::-;17567:73;17635:3;17624:9;17620:19;17611:6;17567:73;:::i;:::-;17650;17718:3;17707:9;17703:19;17694:6;17650:73;:::i;:::-;17733;17801:3;17790:9;17786:19;17777:6;17733:73;:::i;:::-;17816;17884:3;17873:9;17869:19;17860:6;17816:73;:::i;:::-;17899;17967:3;17956:9;17952:19;17943:6;17899:73;:::i;:::-;17982:74;18051:3;18040:9;18036:19;18026:7;17982:74;:::i;:::-;16735:1328;;;;;;;;;;;;;;:::o;18069:60::-;18097:3;18118:5;18111:12;;18069:60;;;:::o;18135:140::-;18184:9;18217:52;18235:33;18244:23;18261:5;18244:23;:::i;:::-;18235:33;:::i;:::-;18217:52;:::i;:::-;18204:65;;18135:140;;;:::o;18281:129::-;18367:36;18397:5;18367:36;:::i;:::-;18362:3;18355:49;18281:129;;:::o;18416:440::-;18564:4;18602:2;18591:9;18587:18;18579:26;;18615:70;18682:1;18671:9;18667:17;18658:6;18615:70;:::i;:::-;18695:72;18763:2;18752:9;18748:18;18739:6;18695:72;:::i;:::-;18777;18845:2;18834:9;18830:18;18821:6;18777:72;:::i;:::-;18416:440;;;;;;:::o;18862:553::-;19039:4;19077:3;19066:9;19062:19;19054:27;;19091:71;19159:1;19148:9;19144:17;19135:6;19091:71;:::i;:::-;19172:72;19240:2;19229:9;19225:18;19216:6;19172:72;:::i;:::-;19254;19322:2;19311:9;19307:18;19298:6;19254:72;:::i;:::-;19336;19404:2;19393:9;19389:18;19380:6;19336:72;:::i;:::-;18862:553;;;;;;;:::o;19421:180::-;19469:77;19466:1;19459:88;19566:4;19563:1;19556:15;19590:4;19587:1;19580:15;19607:86;19642:7;19682:4;19675:5;19671:16;19660:27;;19607:86;;;:::o;19699:118::-;19770:22;19786:5;19770:22;:::i;:::-;19763:5;19760:33;19750:61;;19807:1;19804;19797:12;19750:61;19699:118;:::o;19823:135::-;19867:5;19905:6;19892:20;19883:29;;19921:31;19946:5;19921:31;:::i;:::-;19823:135;;;;:::o;19964:325::-;20021:6;20070:2;20058:9;20049:7;20045:23;20041:32;20038:119;;;20076:79;;:::i;:::-;20038:119;20196:1;20221:51;20264:7;20255:6;20244:9;20240:22;20221:51;:::i;:::-;20211:61;;20167:115;19964:325;;;;:::o;20295:329::-;20354:6;20403:2;20391:9;20382:7;20378:23;20374:32;20371:119;;;20409:79;;:::i;:::-;20371:119;20529:1;20554:53;20599:7;20590:6;20579:9;20575:22;20554:53;:::i;:::-;20544:63;;20500:117;20295:329;;;;:::o;20630:191::-;20670:3;20689:20;20707:1;20689:20;:::i;:::-;20684:25;;20723:20;20741:1;20723:20;:::i;:::-;20718:25;;20766:1;20763;20759:9;20752:16;;20787:3;20784:1;20781:10;20778:36;;;20794:18;;:::i;:::-;20778:36;20630:191;;;;:::o;20827:233::-;20866:3;20889:24;20907:5;20889:24;:::i;:::-;20880:33;;20935:66;20928:5;20925:77;20922:103;;21005:18;;:::i;:::-;20922:103;21052:1;21045:5;21041:13;21034:20;;20827:233;;;:::o;21066:79::-;21105:7;21134:5;21123:16;;21066:79;;;:::o;21151:157::-;21256:45;21276:24;21294:5;21276:24;:::i;:::-;21256:45;:::i;:::-;21251:3;21244:58;21151:157;;:::o;21314:256::-;21426:3;21441:75;21512:3;21503:6;21441:75;:::i;:::-;21541:2;21536:3;21532:12;21525:19;;21561:3;21554:10;;21314:256;;;;:::o;21576:98::-;21627:6;21661:5;21655:12;21645:22;;21576:98;;;:::o;21680:147::-;21781:11;21818:3;21803:18;;21680:147;;;;:::o;21833:246::-;21914:1;21924:113;21938:6;21935:1;21932:13;21924:113;;;22023:1;22018:3;22014:11;22008:18;22004:1;21999:3;21995:11;21988:39;21960:2;21957:1;21953:10;21948:15;;21924:113;;;22071:1;22062:6;22057:3;22053:16;22046:27;21895:184;21833:246;;;:::o;22085:386::-;22189:3;22217:38;22249:5;22217:38;:::i;:::-;22271:88;22352:6;22347:3;22271:88;:::i;:::-;22264:95;;22368:65;22426:6;22421:3;22414:4;22407:5;22403:16;22368:65;:::i;:::-;22458:6;22453:3;22449:16;22442:23;;22193:278;22085:386;;;;:::o;22477:271::-;22607:3;22629:93;22718:3;22709:6;22629:93;:::i;:::-;22622:100;;22739:3;22732:10;;22477:271;;;;:::o;22754:143::-;22811:5;22842:6;22836:13;22827:22;;22858:33;22885:5;22858:33;:::i;:::-;22754:143;;;;:::o;22903:351::-;22973:6;23022:2;23010:9;23001:7;22997:23;22993:32;22990:119;;;23028:79;;:::i;:::-;22990:119;23148:1;23173:64;23229:7;23220:6;23209:9;23205:22;23173:64;:::i;:::-;23163:74;;23119:128;22903:351;;;;:::o;23260:180::-;23308:77;23305:1;23298:88;23405:4;23402:1;23395:15;23429:4;23426:1;23419:15;23446:112;23529:22;23545:5;23529:22;:::i;:::-;23524:3;23517:35;23446:112;;:::o;23564:545::-;23737:4;23775:3;23764:9;23760:19;23752:27;;23789:71;23857:1;23846:9;23842:17;23833:6;23789:71;:::i;:::-;23870:68;23934:2;23923:9;23919:18;23910:6;23870:68;:::i;:::-;23948:72;24016:2;24005:9;24001:18;23992:6;23948:72;:::i;:::-;24030;24098:2;24087:9;24083:18;24074:6;24030:72;:::i;:::-;23564:545;;;;;;;:::o"},"methodIdentifiers":{"MS_PER_SECOND()":"1a8bcd34","NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR()":"bd7c3153","VALIDATOR_SET_HASH_DOMAIN_SEPARATOR()":"9e45a913","deployer()":"d5f39488","guardian()":"452a9320","guardianResetValidatorSet(uint256,uint256,bytes32)":"185bf52b","init(uint256,uint256,uint256,bytes32)":"4394f6f3","initialized()":"158ef93e","lastValidatorSetCheckpoint()":"af082a7d","powerThreshold()":"ba95ec27","unbondingPeriod()":"6cf6d675","updateValidatorSet(bytes32,uint64,uint256,(address,uint256)[],(uint8,bytes32,bytes32)[])":"84330d4c","validatorTimestamp()":"4f76f1ee","verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])":"5e0d3b0f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_guardian\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_validatorSetHashDomainSeparator\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPowerThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MalformedCurrentValidatorSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDeployer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotGuardian\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StaleValidatorSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SuppliedValidatorSetInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValidatorSetNotStale\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValidatorTimestampMustIncrease\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_validatorSetHash\",\"type\":\"bytes32\"}],\"name\":\"GuardianResetValidatorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_validatorSetHash\",\"type\":\"bytes32\"}],\"name\":\"ValidatorSetUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MS_PER_SECOND\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VALIDATOR_SET_HASH_DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guardian\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_validatorSetCheckpoint\",\"type\":\"bytes32\"}],\"name\":\"guardianResetValidatorSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_powerThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_validatorTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_unbondingPeriod\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_validatorSetCheckpoint\",\"type\":\"bytes32\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastValidatorSetCheckpoint\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"powerThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unbondingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_newValidatorSetHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_newPowerThreshold\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"_newValidatorTimestamp\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"updateValidatorSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validatorTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aggregatePower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastConsensusTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct ReportData\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"attestationTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct OracleAttestationData\",\"name\":\"_attestData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"internalType\":\"struct Validator[]\",\"name\":\"_currentValidatorSet\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"_sigs\",\"type\":\"tuple[]\"}],\"name\":\"verifyOracleData\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The relay relies on a set of signers to attest to some event on Tellor Layer. These signers are the validator set, who sign over every block. At least 2/3 of the voting power of the current view of the validator set must sign off on new relayed events.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_guardian\":\"Guardian address.\"}},\"guardianResetValidatorSet(uint256,uint256,bytes32)\":{\"params\":{\"_powerThreshold\":\"Amount of voting power needed to approve operations.\",\"_validatorSetCheckpoint\":\"The hash of the validator set.\",\"_validatorTimestamp\":\"The timestamp of the block where validator set is updated.\"}},\"init(uint256,uint256,uint256,bytes32)\":{\"params\":{\"_powerThreshold\":\"Initial voting power that is needed to approve operations\",\"_unbondingPeriod\":\"Time period after which a validator can withdraw their stake.\",\"_validatorSetCheckpoint\":\"Initial checkpoint of the validator set.\",\"_validatorTimestamp\":\"Timestamp of the block where validator set is updated.\"}},\"updateValidatorSet(bytes32,uint64,uint256,(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"params\":{\"_currentValidatorSet\":\"The current validator set.\",\"_newPowerThreshold\":\"At least this much power must have signed.\",\"_newValidatorSetHash\":\"The hash of the new validator set.\",\"_newValidatorTimestamp\":\"The timestamp of the block where validator set is updated.\",\"_sigs\":\"Signatures.\"}},\"verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"params\":{\"_attestData\":\"The data being verified\",\"_currentValidatorSet\":\"array of current validator set\",\"_sigs\":\"Signatures.\"}}},\"title\":\"TellorDataBridge: Tellor Layer -> EVM, Oracle relay.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"MS_PER_SECOND()\":{\"notice\":\"True if the contract is initialized.\"},\"constructor\":{\"notice\":\"Constructor for the TellorDataBridge contract.\"},\"deployer()\":{\"notice\":\"Timestamp of the block where validator set is updated.\"},\"guardianResetValidatorSet(uint256,uint256,bytes32)\":{\"notice\":\"This function is called by the guardian to reset the validator set only if it becomes stale.\"},\"init(uint256,uint256,uint256,bytes32)\":{\"notice\":\"This function is called only once by the deployer to initialize the contract\"},\"initialized()\":{\"notice\":\"Address that deployed the contract.\"},\"lastValidatorSetCheckpoint()\":{\"notice\":\"Able to reset the validator set only if the validator set becomes stale.\"},\"powerThreshold()\":{\"notice\":\"Domain-separated commitment to the latest validator set.\"},\"unbondingPeriod()\":{\"notice\":\"Voting power required to submit a new update.\"},\"updateValidatorSet(bytes32,uint64,uint256,(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"notice\":\"This updates the validator set by checking that the validators in the current validator set have signed off on the new validator set.\"},\"validatorTimestamp()\":{\"notice\":\"Time period after which a validator can withdraw their stake.\"},\"verifyOracleData((bytes32,(bytes,uint256,uint256,uint256,uint256,uint256),uint256),(address,uint256)[],(uint8,bytes32,bytes32)[])\":{\"notice\":\"This getter verifies a given piece of data vs Validator signatures\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testing/bridge/TellorDataBridge.sol\":\"TellorDataBridge\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testing/bridge/ECDSA.sol\":{\"keccak256\":\"0xd3cf86f8b73deb230943786cb7c5036b2b602fc3f7dc43f6cd1c06511831b8eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cc6bb20c5239f6073c18604af3fc04c764984615a37d74b9cb24896465cb3c3\",\"dweb:/ipfs/QmPEMsTWcdXp6uAiPHiQGTCPCUsv161UvYZFGECJudFFoA\"]},\"contracts/testing/bridge/TellorDataBridge.sol\":{\"keccak256\":\"0x21c5eae966078b8a9a354c9e2e5ad78a02a984f2f445084eaa8ba8e3cdf29b6f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ec6eb48821d89e81215f53d4bd6a20a4a512f859622ba5a220ee0ab6555ef9a4\",\"dweb:/ipfs/QmTcbTAmSsVccD1BGycmTkggo7QZZCMQTDn6xde297GbTn\"]}},\"version\":1}"}}}}} \ No newline at end of file diff --git a/artifacts/contracts/YoloTellorUser.sol/YoloTellorUser.dbg.json b/artifacts/contracts/YoloTellorUser.sol/YoloTellorUser.dbg.json index 1bcf854..701cef3 100644 --- a/artifacts/contracts/YoloTellorUser.sol/YoloTellorUser.dbg.json +++ b/artifacts/contracts/YoloTellorUser.sol/YoloTellorUser.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/3d7102a7b74c245b885295d3f9e627a4.json" + "buildInfo": "../../build-info/ddd00ff12efc93d7c8bb99665bd536bb.json" } diff --git a/artifacts/contracts/interfaces/ITellorDataBridge.sol/ITellorDataBridge.dbg.json b/artifacts/contracts/interfaces/ITellorDataBridge.sol/ITellorDataBridge.dbg.json index 89afce5..100a2ea 100644 --- a/artifacts/contracts/interfaces/ITellorDataBridge.sol/ITellorDataBridge.dbg.json +++ b/artifacts/contracts/interfaces/ITellorDataBridge.sol/ITellorDataBridge.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/3d7102a7b74c245b885295d3f9e627a4.json" + "buildInfo": "../../../build-info/ddd00ff12efc93d7c8bb99665bd536bb.json" } diff --git a/artifacts/contracts/testing/bridge/ECDSA.sol/ECDSA.dbg.json b/artifacts/contracts/testing/bridge/ECDSA.sol/ECDSA.dbg.json index 192bfee..1c76745 100644 --- a/artifacts/contracts/testing/bridge/ECDSA.sol/ECDSA.dbg.json +++ b/artifacts/contracts/testing/bridge/ECDSA.sol/ECDSA.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3d7102a7b74c245b885295d3f9e627a4.json" + "buildInfo": "../../../../build-info/ddd00ff12efc93d7c8bb99665bd536bb.json" } diff --git a/artifacts/contracts/testing/bridge/TellorDataBridge.sol/TellorDataBridge.dbg.json b/artifacts/contracts/testing/bridge/TellorDataBridge.sol/TellorDataBridge.dbg.json index 192bfee..1c76745 100644 --- a/artifacts/contracts/testing/bridge/TellorDataBridge.sol/TellorDataBridge.dbg.json +++ b/artifacts/contracts/testing/bridge/TellorDataBridge.sol/TellorDataBridge.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3d7102a7b74c245b885295d3f9e627a4.json" + "buildInfo": "../../../../build-info/ddd00ff12efc93d7c8bb99665bd536bb.json" } diff --git a/artifacts/contracts/testing/bridge/TellorDataBridge.sol/TellorDataBridge.json b/artifacts/contracts/testing/bridge/TellorDataBridge.sol/TellorDataBridge.json index 692499f..36a7344 100644 --- a/artifacts/contracts/testing/bridge/TellorDataBridge.sol/TellorDataBridge.json +++ b/artifacts/contracts/testing/bridge/TellorDataBridge.sol/TellorDataBridge.json @@ -9,6 +9,11 @@ "internalType": "address", "name": "_guardian", "type": "address" + }, + { + "internalType": "bytes32", + "name": "_validatorSetHashDomainSeparator", + "type": "bytes32" } ], "stateMutability": "nonpayable", @@ -159,6 +164,32 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "VALIDATOR_SET_HASH_DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "deployer", @@ -465,8 +496,8 @@ "type": "function" } ], - "bytecode": "0x60806040523480156200001157600080fd5b5060405162001adb38038062001adb833981810160405281019062000037919062000129565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200015b565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000f182620000c4565b9050919050565b6200010381620000e4565b81146200010f57600080fd5b50565b6000815190506200012381620000f8565b92915050565b600060208284031215620001425762000141620000bf565b5b6000620001528482850162000112565b91505092915050565b611970806200016b6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80635e0d3b0f116100715780635e0d3b0f146101695780636cf6d6751461018557806384330d4c146101a3578063af082a7d146101bf578063ba95ec27146101dd578063d5f39488146101fb576100b4565b8063158ef93e146100b9578063185bf52b146100d75780631a8bcd34146100f35780634394f6f314610111578063452a93201461012d5780634f76f1ee1461014b575b600080fd5b6100c1610219565b6040516100ce9190610d1b565b60405180910390f35b6100f160048036038101906100ec9190610dac565b61022c565b005b6100fb610397565b6040516101089190610e0e565b60405180910390f35b61012b60048036038101906101269190610e29565b61039d565b005b6101356104a8565b6040516101429190610ed1565b60405180910390f35b6101536104cc565b6040516101609190610e0e565b60405180910390f35b610183600480360381019061017e9190610fcb565b6104d2565b005b61018d610682565b60405161019a9190610e0e565b60405180910390f35b6101bd60048036038101906101b891906110bc565b610688565b005b6101c761084b565b6040516101d49190611187565b60405180910390f35b6101e5610851565b6040516101f29190610e0e565b60405180910390f35b610203610857565b6040516102109190610ed1565b60405180910390f35b600560149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102b1576040517fef6d0f0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546103e86004546102c49190611200565b426102cf9190611231565b1015610307576040517f1c36ced200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004548211610342576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260028190555081600481905550806001819055507fd7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb0983838360405161038a93929190611265565b60405180910390a1505050565b6103e881565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610424576040517f8b906c9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560149054906101000a900460ff161561046b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff0219169083151502179055508360028190555082600481905550816003819055508060018190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b818190508484905014610511576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015461054b60025460045487876040516020016105309291906113fb565b6040516020818303038152906040528051906020012061087d565b14610582576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b86600001358780602001906105bd919061142e565b80600001906105cc9190611456565b8980602001906105dc919061142e565b602001358a80602001906105f0919061142e565b604001358b8060200190610604919061142e565b606001358c8060200190610618919061142e565b608001356001548e604001358f8060200190610634919061142e565b60a001356040516020016106529b9a99989796959493929190611517565b60405160208183030381529060405280519060200120905061067a85858585856002546108d8565b505050505050565b60035481565b8181905084849050146106c7576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454851015610703576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008667ffffffffffffffff1603610747576040517fc3b70c8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848460405160200161075c9291906113fb565b6040516020818303038152906040528051906020012090506001546107866002546004548461087d565b146107bd576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006107d48867ffffffffffffffff16888b61087d565b90506107e686868686856002546108d8565b806001819055508767ffffffffffffffff16600281905550866004819055507fe304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e88888b604051610838939291906115f7565b60405180910390a1505050505050505050565b60015481565b60025481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f636865636b706f696e740000000000000000000000000000000000000000000060001b8484846040516020016108b9949392919061162e565b6040516020818303038152906040528051906020012090509392505050565b6003546103e86004546108eb9190611200565b426108f69190611231565b111561092e576040517fe5e5e46400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b87879050811015610a8f576000801b86868381811061095457610953611673565b5b9050606002016020013514801561098957506000801b86868381811061097d5761097c611673565b5b90506060020160400135145b80156109c2575060008686838181106109a5576109a4611673565b5b90506060020160000160208101906109bd91906116db565b60ff16145b610a7c57610a138888838181106109dc576109db611673565b5b90506040020160000160208101906109f49190611708565b85888885818110610a0857610a07611673565b5b905060600201610ad3565b610a49576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b878782818110610a5c57610a5b611673565b5b9050604002016020013582610a719190611735565b915082821015610a8f575b8080610a8790611769565b915050610932565b5081811015610aca576040517fcabeb65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b6000600283604051602001610ae891906117d2565b604051602081830303815290604052604051610b04919061185e565b602060405180830381855afa158015610b21573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610b44919061188a565b9250600080610b6f85856000016020810190610b6091906116db565b86602001358760400135610c0c565b509150915060006003811115610b8857610b876118b7565b5b816003811115610b9b57610b9a6118b7565b5b14610bd2576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115610c4c576000600385925092509250610cf6565b600060018888888860405160008152602001604052604051610c7194939291906118f5565b6020604051602081039080840390855afa158015610c93573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ce757600060016000801b93509350935050610cf6565b8060008060001b935093509350505b9450945094915050565b60008115159050919050565b610d1581610d00565b82525050565b6000602082019050610d306000830184610d0c565b92915050565b600080fd5b600080fd5b6000819050919050565b610d5381610d40565b8114610d5e57600080fd5b50565b600081359050610d7081610d4a565b92915050565b6000819050919050565b610d8981610d76565b8114610d9457600080fd5b50565b600081359050610da681610d80565b92915050565b600080600060608486031215610dc557610dc4610d36565b5b6000610dd386828701610d61565b9350506020610de486828701610d61565b9250506040610df586828701610d97565b9150509250925092565b610e0881610d40565b82525050565b6000602082019050610e236000830184610dff565b92915050565b60008060008060808587031215610e4357610e42610d36565b5b6000610e5187828801610d61565b9450506020610e6287828801610d61565b9350506040610e7387828801610d61565b9250506060610e8487828801610d97565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ebb82610e90565b9050919050565b610ecb81610eb0565b82525050565b6000602082019050610ee66000830184610ec2565b92915050565b600080fd5b600060608284031215610f0757610f06610eec565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f3557610f34610f10565b5b8235905067ffffffffffffffff811115610f5257610f51610f15565b5b602083019150836040820283011115610f6e57610f6d610f1a565b5b9250929050565b60008083601f840112610f8b57610f8a610f10565b5b8235905067ffffffffffffffff811115610fa857610fa7610f15565b5b602083019150836060820283011115610fc457610fc3610f1a565b5b9250929050565b600080600080600060608688031215610fe757610fe6610d36565b5b600086013567ffffffffffffffff81111561100557611004610d3b565b5b61101188828901610ef1565b955050602086013567ffffffffffffffff81111561103257611031610d3b565b5b61103e88828901610f1f565b9450945050604086013567ffffffffffffffff81111561106157611060610d3b565b5b61106d88828901610f75565b92509250509295509295909350565b600067ffffffffffffffff82169050919050565b6110998161107c565b81146110a457600080fd5b50565b6000813590506110b681611090565b92915050565b600080600080600080600060a0888a0312156110db576110da610d36565b5b60006110e98a828b01610d97565b97505060206110fa8a828b016110a7565b965050604061110b8a828b01610d61565b955050606088013567ffffffffffffffff81111561112c5761112b610d3b565b5b6111388a828b01610f1f565b9450945050608088013567ffffffffffffffff81111561115b5761115a610d3b565b5b6111678a828b01610f75565b925092505092959891949750929550565b61118181610d76565b82525050565b600060208201905061119c6000830184611178565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061120b82610d40565b915061121683610d40565b925082611226576112256111a2565b5b828204905092915050565b600061123c82610d40565b915061124783610d40565b925082820390508181111561125f5761125e6111d1565b5b92915050565b600060608201905061127a6000830186610dff565b6112876020830185610dff565b6112946040830184611178565b949350505050565b600082825260208201905092915050565b6000819050919050565b6112c081610eb0565b81146112cb57600080fd5b50565b6000813590506112dd816112b7565b92915050565b60006112f260208401846112ce565b905092915050565b61130381610eb0565b82525050565b60006113186020840184610d61565b905092915050565b61132981610d40565b82525050565b6040820161134060008301836112e3565b61134d60008501826112fa565b5061135b6020830183611309565b6113686020850182611320565b50505050565b600061137a838361132f565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006113aa838561129c565b93506113b5826112ad565b8060005b858110156113ee576113cb8284611386565b6113d5888261136e565b97506113e083611391565b9250506001810190506113b9565b5085925050509392505050565b6000602082019050818103600083015261141681848661139e565b90509392505050565b600080fd5b600080fd5b600080fd5b60008235600160c00383360303811261144a5761144961141f565b5b80830191505092915050565b600080833560016020038436030381126114735761147261141f565b5b80840192508235915067ffffffffffffffff82111561149557611494611424565b5b6020830192506001820236038313156114b1576114b0611429565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006114f683856114b9565b93506115038385846114ca565b61150c836114d9565b840190509392505050565b60006101408201905061152d600083018e611178565b61153a602083018d611178565b818103604083015261154d818b8d6114ea565b905061155c606083018a610dff565b6115696080830189610dff565b61157660a0830188610dff565b61158360c0830187610dff565b61159060e0830186611178565b61159e610100830185610dff565b6115ac610120830184610dff565b9c9b505050505050505050505050565b6000819050919050565b60006115e16115dc6115d78461107c565b6115bc565b610d40565b9050919050565b6115f1816115c6565b82525050565b600060608201905061160c60008301866115e8565b6116196020830185610dff565b6116266040830184611178565b949350505050565b60006080820190506116436000830187611178565b6116506020830186610dff565b61165d6040830185610dff565b61166a6060830184611178565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6116b8816116a2565b81146116c357600080fd5b50565b6000813590506116d5816116af565b92915050565b6000602082840312156116f1576116f0610d36565b5b60006116ff848285016116c6565b91505092915050565b60006020828403121561171e5761171d610d36565b5b600061172c848285016112ce565b91505092915050565b600061174082610d40565b915061174b83610d40565b9250828201905080821115611763576117626111d1565b5b92915050565b600061177482610d40565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117a6576117a56111d1565b5b600182019050919050565b6000819050919050565b6117cc6117c782610d76565b6117b1565b82525050565b60006117de82846117bb565b60208201915081905092915050565b600081519050919050565b600081905092915050565b60005b83811015611821578082015181840152602081019050611806565b60008484015250505050565b6000611838826117ed565b61184281856117f8565b9350611852818560208601611803565b80840191505092915050565b600061186a828461182d565b915081905092915050565b60008151905061188481610d80565b92915050565b6000602082840312156118a05761189f610d36565b5b60006118ae84828501611875565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6118ef816116a2565b82525050565b600060808201905061190a6000830187611178565b61191760208301866118e6565b6119246040830185611178565b6119316060830184611178565b9594505050505056fea264697066735822122048b3fd1d4f4bdee146eb2956e18719d2107695fb35d8948a79bf2a2bc5a5a4a464736f6c63430008130033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80635e0d3b0f116100715780635e0d3b0f146101695780636cf6d6751461018557806384330d4c146101a3578063af082a7d146101bf578063ba95ec27146101dd578063d5f39488146101fb576100b4565b8063158ef93e146100b9578063185bf52b146100d75780631a8bcd34146100f35780634394f6f314610111578063452a93201461012d5780634f76f1ee1461014b575b600080fd5b6100c1610219565b6040516100ce9190610d1b565b60405180910390f35b6100f160048036038101906100ec9190610dac565b61022c565b005b6100fb610397565b6040516101089190610e0e565b60405180910390f35b61012b60048036038101906101269190610e29565b61039d565b005b6101356104a8565b6040516101429190610ed1565b60405180910390f35b6101536104cc565b6040516101609190610e0e565b60405180910390f35b610183600480360381019061017e9190610fcb565b6104d2565b005b61018d610682565b60405161019a9190610e0e565b60405180910390f35b6101bd60048036038101906101b891906110bc565b610688565b005b6101c761084b565b6040516101d49190611187565b60405180910390f35b6101e5610851565b6040516101f29190610e0e565b60405180910390f35b610203610857565b6040516102109190610ed1565b60405180910390f35b600560149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102b1576040517fef6d0f0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546103e86004546102c49190611200565b426102cf9190611231565b1015610307576040517f1c36ced200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004548211610342576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260028190555081600481905550806001819055507fd7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb0983838360405161038a93929190611265565b60405180910390a1505050565b6103e881565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610424576040517f8b906c9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560149054906101000a900460ff161561046b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff0219169083151502179055508360028190555082600481905550816003819055508060018190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b818190508484905014610511576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015461054b60025460045487876040516020016105309291906113fb565b6040516020818303038152906040528051906020012061087d565b14610582576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b86600001358780602001906105bd919061142e565b80600001906105cc9190611456565b8980602001906105dc919061142e565b602001358a80602001906105f0919061142e565b604001358b8060200190610604919061142e565b606001358c8060200190610618919061142e565b608001356001548e604001358f8060200190610634919061142e565b60a001356040516020016106529b9a99989796959493929190611517565b60405160208183030381529060405280519060200120905061067a85858585856002546108d8565b505050505050565b60035481565b8181905084849050146106c7576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454851015610703576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008667ffffffffffffffff1603610747576040517fc3b70c8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848460405160200161075c9291906113fb565b6040516020818303038152906040528051906020012090506001546107866002546004548461087d565b146107bd576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006107d48867ffffffffffffffff16888b61087d565b90506107e686868686856002546108d8565b806001819055508767ffffffffffffffff16600281905550866004819055507fe304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e88888b604051610838939291906115f7565b60405180910390a1505050505050505050565b60015481565b60025481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f636865636b706f696e740000000000000000000000000000000000000000000060001b8484846040516020016108b9949392919061162e565b6040516020818303038152906040528051906020012090509392505050565b6003546103e86004546108eb9190611200565b426108f69190611231565b111561092e576040517fe5e5e46400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b87879050811015610a8f576000801b86868381811061095457610953611673565b5b9050606002016020013514801561098957506000801b86868381811061097d5761097c611673565b5b90506060020160400135145b80156109c2575060008686838181106109a5576109a4611673565b5b90506060020160000160208101906109bd91906116db565b60ff16145b610a7c57610a138888838181106109dc576109db611673565b5b90506040020160000160208101906109f49190611708565b85888885818110610a0857610a07611673565b5b905060600201610ad3565b610a49576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b878782818110610a5c57610a5b611673565b5b9050604002016020013582610a719190611735565b915082821015610a8f575b8080610a8790611769565b915050610932565b5081811015610aca576040517fcabeb65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b6000600283604051602001610ae891906117d2565b604051602081830303815290604052604051610b04919061185e565b602060405180830381855afa158015610b21573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610b44919061188a565b9250600080610b6f85856000016020810190610b6091906116db565b86602001358760400135610c0c565b509150915060006003811115610b8857610b876118b7565b5b816003811115610b9b57610b9a6118b7565b5b14610bd2576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115610c4c576000600385925092509250610cf6565b600060018888888860405160008152602001604052604051610c7194939291906118f5565b6020604051602081039080840390855afa158015610c93573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ce757600060016000801b93509350935050610cf6565b8060008060001b935093509350505b9450945094915050565b60008115159050919050565b610d1581610d00565b82525050565b6000602082019050610d306000830184610d0c565b92915050565b600080fd5b600080fd5b6000819050919050565b610d5381610d40565b8114610d5e57600080fd5b50565b600081359050610d7081610d4a565b92915050565b6000819050919050565b610d8981610d76565b8114610d9457600080fd5b50565b600081359050610da681610d80565b92915050565b600080600060608486031215610dc557610dc4610d36565b5b6000610dd386828701610d61565b9350506020610de486828701610d61565b9250506040610df586828701610d97565b9150509250925092565b610e0881610d40565b82525050565b6000602082019050610e236000830184610dff565b92915050565b60008060008060808587031215610e4357610e42610d36565b5b6000610e5187828801610d61565b9450506020610e6287828801610d61565b9350506040610e7387828801610d61565b9250506060610e8487828801610d97565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ebb82610e90565b9050919050565b610ecb81610eb0565b82525050565b6000602082019050610ee66000830184610ec2565b92915050565b600080fd5b600060608284031215610f0757610f06610eec565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f3557610f34610f10565b5b8235905067ffffffffffffffff811115610f5257610f51610f15565b5b602083019150836040820283011115610f6e57610f6d610f1a565b5b9250929050565b60008083601f840112610f8b57610f8a610f10565b5b8235905067ffffffffffffffff811115610fa857610fa7610f15565b5b602083019150836060820283011115610fc457610fc3610f1a565b5b9250929050565b600080600080600060608688031215610fe757610fe6610d36565b5b600086013567ffffffffffffffff81111561100557611004610d3b565b5b61101188828901610ef1565b955050602086013567ffffffffffffffff81111561103257611031610d3b565b5b61103e88828901610f1f565b9450945050604086013567ffffffffffffffff81111561106157611060610d3b565b5b61106d88828901610f75565b92509250509295509295909350565b600067ffffffffffffffff82169050919050565b6110998161107c565b81146110a457600080fd5b50565b6000813590506110b681611090565b92915050565b600080600080600080600060a0888a0312156110db576110da610d36565b5b60006110e98a828b01610d97565b97505060206110fa8a828b016110a7565b965050604061110b8a828b01610d61565b955050606088013567ffffffffffffffff81111561112c5761112b610d3b565b5b6111388a828b01610f1f565b9450945050608088013567ffffffffffffffff81111561115b5761115a610d3b565b5b6111678a828b01610f75565b925092505092959891949750929550565b61118181610d76565b82525050565b600060208201905061119c6000830184611178565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061120b82610d40565b915061121683610d40565b925082611226576112256111a2565b5b828204905092915050565b600061123c82610d40565b915061124783610d40565b925082820390508181111561125f5761125e6111d1565b5b92915050565b600060608201905061127a6000830186610dff565b6112876020830185610dff565b6112946040830184611178565b949350505050565b600082825260208201905092915050565b6000819050919050565b6112c081610eb0565b81146112cb57600080fd5b50565b6000813590506112dd816112b7565b92915050565b60006112f260208401846112ce565b905092915050565b61130381610eb0565b82525050565b60006113186020840184610d61565b905092915050565b61132981610d40565b82525050565b6040820161134060008301836112e3565b61134d60008501826112fa565b5061135b6020830183611309565b6113686020850182611320565b50505050565b600061137a838361132f565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006113aa838561129c565b93506113b5826112ad565b8060005b858110156113ee576113cb8284611386565b6113d5888261136e565b97506113e083611391565b9250506001810190506113b9565b5085925050509392505050565b6000602082019050818103600083015261141681848661139e565b90509392505050565b600080fd5b600080fd5b600080fd5b60008235600160c00383360303811261144a5761144961141f565b5b80830191505092915050565b600080833560016020038436030381126114735761147261141f565b5b80840192508235915067ffffffffffffffff82111561149557611494611424565b5b6020830192506001820236038313156114b1576114b0611429565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006114f683856114b9565b93506115038385846114ca565b61150c836114d9565b840190509392505050565b60006101408201905061152d600083018e611178565b61153a602083018d611178565b818103604083015261154d818b8d6114ea565b905061155c606083018a610dff565b6115696080830189610dff565b61157660a0830188610dff565b61158360c0830187610dff565b61159060e0830186611178565b61159e610100830185610dff565b6115ac610120830184610dff565b9c9b505050505050505050505050565b6000819050919050565b60006115e16115dc6115d78461107c565b6115bc565b610d40565b9050919050565b6115f1816115c6565b82525050565b600060608201905061160c60008301866115e8565b6116196020830185610dff565b6116266040830184611178565b949350505050565b60006080820190506116436000830187611178565b6116506020830186610dff565b61165d6040830185610dff565b61166a6060830184611178565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6116b8816116a2565b81146116c357600080fd5b50565b6000813590506116d5816116af565b92915050565b6000602082840312156116f1576116f0610d36565b5b60006116ff848285016116c6565b91505092915050565b60006020828403121561171e5761171d610d36565b5b600061172c848285016112ce565b91505092915050565b600061174082610d40565b915061174b83610d40565b9250828201905080821115611763576117626111d1565b5b92915050565b600061177482610d40565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117a6576117a56111d1565b5b600182019050919050565b6000819050919050565b6117cc6117c782610d76565b6117b1565b82525050565b60006117de82846117bb565b60208201915081905092915050565b600081519050919050565b600081905092915050565b60005b83811015611821578082015181840152602081019050611806565b60008484015250505050565b6000611838826117ed565b61184281856117f8565b9350611852818560208601611803565b80840191505092915050565b600061186a828461182d565b915081905092915050565b60008151905061188481610d80565b92915050565b6000602082840312156118a05761189f610d36565b5b60006118ae84828501611875565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6118ef816116a2565b82525050565b600060808201905061190a6000830187611178565b61191760208301866118e6565b6119246040830185611178565b6119316060830184611178565b9594505050505056fea264697066735822122048b3fd1d4f4bdee146eb2956e18719d2107695fb35d8948a79bf2a2bc5a5a4a464736f6c63430008130033", + "bytecode": "0x60a06040523480156200001157600080fd5b5060405162001c0138038062001c0183398181016040528101906200003791906200016d565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080608081815250505050620001b4565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000fa82620000cd565b9050919050565b6200010c81620000ed565b81146200011857600080fd5b50565b6000815190506200012c8162000101565b92915050565b6000819050919050565b620001478162000132565b81146200015357600080fd5b50565b60008151905062000167816200013c565b92915050565b60008060408385031215620001875762000186620000c8565b5b600062000197858286016200011b565b9250506020620001aa8582860162000156565b9150509250929050565b608051611a2a620001d7600039600081816108bf015261093e0152611a2a6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636cf6d6751161008c578063af082a7d11610066578063af082a7d14610213578063ba95ec2714610231578063bd7c31531461024f578063d5f394881461026d576100ea565b80636cf6d675146101bb57806384330d4c146101d95780639e45a913146101f5576100ea565b80634394f6f3116100c85780634394f6f314610147578063452a9320146101635780634f76f1ee146101815780635e0d3b0f1461019f576100ea565b8063158ef93e146100ef578063185bf52b1461010d5780631a8bcd3414610129575b600080fd5b6100f761028b565b6040516101049190610dd5565b60405180910390f35b61012760048036038101906101229190610e66565b61029e565b005b610131610409565b60405161013e9190610ec8565b60405180910390f35b610161600480360381019061015c9190610ee3565b61040f565b005b61016b61051a565b6040516101789190610f8b565b60405180910390f35b61018961053e565b6040516101969190610ec8565b60405180910390f35b6101b960048036038101906101b49190611085565b610544565b005b6101c36106f4565b6040516101d09190610ec8565b60405180910390f35b6101f360048036038101906101ee9190611176565b6106fa565b005b6101fd6108bd565b60405161020a9190611241565b60405180910390f35b61021b6108e1565b6040516102289190611241565b60405180910390f35b6102396108e7565b6040516102469190610ec8565b60405180910390f35b6102576108ed565b6040516102649190611241565b60405180910390f35b610275610914565b6040516102829190610f8b565b60405180910390f35b600560149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610323576040517fef6d0f0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546103e860045461033691906112ba565b4261034191906112eb565b1015610379576040517f1c36ced200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045482116103b4576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260028190555081600481905550806001819055507fd7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb098383836040516103fc9392919061131f565b60405180910390a1505050565b6103e881565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610496576040517f8b906c9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560149054906101000a900460ff16156104dd576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff0219169083151502179055508360028190555082600481905550816003819055508060018190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b818190508484905014610583576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546105bd60025460045487876040516020016105a29291906114b5565b6040516020818303038152906040528051906020012061093a565b146105f4576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b866000013587806020019061062f91906114e8565b806000019061063e9190611510565b89806020019061064e91906114e8565b602001358a806020019061066291906114e8565b604001358b806020019061067691906114e8565b606001358c806020019061068a91906114e8565b608001356001548e604001358f80602001906106a691906114e8565b60a001356040516020016106c49b9a999897969594939291906115d1565b6040516020818303038152906040528051906020012090506106ec8585858585600254610992565b505050505050565b60035481565b818190508484905014610739576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454851015610775576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008667ffffffffffffffff16036107b9576040517fc3b70c8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084846040516020016107ce9291906114b5565b6040516020818303038152906040528051906020012090506001546107f86002546004548461093a565b1461082f576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108468867ffffffffffffffff16888b61093a565b90506108588686868685600254610992565b806001819055508767ffffffffffffffff16600281905550866004819055507fe304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e88888b6040516108aa939291906116b1565b60405180910390a1505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60025481565b7f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b81565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f000000000000000000000000000000000000000000000000000000000000000084848460405160200161097394939291906116e8565b6040516020818303038152906040528051906020012090509392505050565b6003546103e86004546109a591906112ba565b426109b091906112eb565b11156109e8576040517fe5e5e46400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b87879050811015610b49576000801b868683818110610a0e57610a0d61172d565b5b90506060020160200135148015610a4357506000801b868683818110610a3757610a3661172d565b5b90506060020160400135145b8015610a7c57506000868683818110610a5f57610a5e61172d565b5b9050606002016000016020810190610a779190611795565b60ff16145b610b3657610acd888883818110610a9657610a9561172d565b5b9050604002016000016020810190610aae91906117c2565b85888885818110610ac257610ac161172d565b5b905060600201610b8d565b610b03576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b878782818110610b1657610b1561172d565b5b9050604002016020013582610b2b91906117ef565b915082821015610b49575b8080610b4190611823565b9150506109ec565b5081811015610b84576040517fcabeb65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b6000600283604051602001610ba2919061188c565b604051602081830303815290604052604051610bbe9190611918565b602060405180830381855afa158015610bdb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610bfe9190611944565b9250600080610c2985856000016020810190610c1a9190611795565b86602001358760400135610cc6565b509150915060006003811115610c4257610c41611971565b5b816003811115610c5557610c54611971565b5b14610c8c576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115610d06576000600385925092509250610db0565b600060018888888860405160008152602001604052604051610d2b94939291906119af565b6020604051602081039080840390855afa158015610d4d573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610da157600060016000801b93509350935050610db0565b8060008060001b935093509350505b9450945094915050565b60008115159050919050565b610dcf81610dba565b82525050565b6000602082019050610dea6000830184610dc6565b92915050565b600080fd5b600080fd5b6000819050919050565b610e0d81610dfa565b8114610e1857600080fd5b50565b600081359050610e2a81610e04565b92915050565b6000819050919050565b610e4381610e30565b8114610e4e57600080fd5b50565b600081359050610e6081610e3a565b92915050565b600080600060608486031215610e7f57610e7e610df0565b5b6000610e8d86828701610e1b565b9350506020610e9e86828701610e1b565b9250506040610eaf86828701610e51565b9150509250925092565b610ec281610dfa565b82525050565b6000602082019050610edd6000830184610eb9565b92915050565b60008060008060808587031215610efd57610efc610df0565b5b6000610f0b87828801610e1b565b9450506020610f1c87828801610e1b565b9350506040610f2d87828801610e1b565b9250506060610f3e87828801610e51565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f7582610f4a565b9050919050565b610f8581610f6a565b82525050565b6000602082019050610fa06000830184610f7c565b92915050565b600080fd5b600060608284031215610fc157610fc0610fa6565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610fef57610fee610fca565b5b8235905067ffffffffffffffff81111561100c5761100b610fcf565b5b60208301915083604082028301111561102857611027610fd4565b5b9250929050565b60008083601f84011261104557611044610fca565b5b8235905067ffffffffffffffff81111561106257611061610fcf565b5b60208301915083606082028301111561107e5761107d610fd4565b5b9250929050565b6000806000806000606086880312156110a1576110a0610df0565b5b600086013567ffffffffffffffff8111156110bf576110be610df5565b5b6110cb88828901610fab565b955050602086013567ffffffffffffffff8111156110ec576110eb610df5565b5b6110f888828901610fd9565b9450945050604086013567ffffffffffffffff81111561111b5761111a610df5565b5b6111278882890161102f565b92509250509295509295909350565b600067ffffffffffffffff82169050919050565b61115381611136565b811461115e57600080fd5b50565b6000813590506111708161114a565b92915050565b600080600080600080600060a0888a03121561119557611194610df0565b5b60006111a38a828b01610e51565b97505060206111b48a828b01611161565b96505060406111c58a828b01610e1b565b955050606088013567ffffffffffffffff8111156111e6576111e5610df5565b5b6111f28a828b01610fd9565b9450945050608088013567ffffffffffffffff81111561121557611214610df5565b5b6112218a828b0161102f565b925092505092959891949750929550565b61123b81610e30565b82525050565b60006020820190506112566000830184611232565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112c582610dfa565b91506112d083610dfa565b9250826112e0576112df61125c565b5b828204905092915050565b60006112f682610dfa565b915061130183610dfa565b92508282039050818111156113195761131861128b565b5b92915050565b60006060820190506113346000830186610eb9565b6113416020830185610eb9565b61134e6040830184611232565b949350505050565b600082825260208201905092915050565b6000819050919050565b61137a81610f6a565b811461138557600080fd5b50565b60008135905061139781611371565b92915050565b60006113ac6020840184611388565b905092915050565b6113bd81610f6a565b82525050565b60006113d26020840184610e1b565b905092915050565b6113e381610dfa565b82525050565b604082016113fa600083018361139d565b61140760008501826113b4565b5061141560208301836113c3565b61142260208501826113da565b50505050565b600061143483836113e9565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006114648385611356565b935061146f82611367565b8060005b858110156114a8576114858284611440565b61148f8882611428565b975061149a8361144b565b925050600181019050611473565b5085925050509392505050565b600060208201905081810360008301526114d0818486611458565b90509392505050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112611504576115036114d9565b5b80830191505092915050565b6000808335600160200384360303811261152d5761152c6114d9565b5b80840192508235915067ffffffffffffffff82111561154f5761154e6114de565b5b60208301925060018202360383131561156b5761156a6114e3565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006115b08385611573565b93506115bd838584611584565b6115c683611593565b840190509392505050565b6000610140820190506115e7600083018e611232565b6115f4602083018d611232565b8181036040830152611607818b8d6115a4565b9050611616606083018a610eb9565b6116236080830189610eb9565b61163060a0830188610eb9565b61163d60c0830187610eb9565b61164a60e0830186611232565b611658610100830185610eb9565b611666610120830184610eb9565b9c9b505050505050505050505050565b6000819050919050565b600061169b61169661169184611136565b611676565b610dfa565b9050919050565b6116ab81611680565b82525050565b60006060820190506116c660008301866116a2565b6116d36020830185610eb9565b6116e06040830184611232565b949350505050565b60006080820190506116fd6000830187611232565b61170a6020830186610eb9565b6117176040830185610eb9565b6117246060830184611232565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6117728161175c565b811461177d57600080fd5b50565b60008135905061178f81611769565b92915050565b6000602082840312156117ab576117aa610df0565b5b60006117b984828501611780565b91505092915050565b6000602082840312156117d8576117d7610df0565b5b60006117e684828501611388565b91505092915050565b60006117fa82610dfa565b915061180583610dfa565b925082820190508082111561181d5761181c61128b565b5b92915050565b600061182e82610dfa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118605761185f61128b565b5b600182019050919050565b6000819050919050565b61188661188182610e30565b61186b565b82525050565b60006118988284611875565b60208201915081905092915050565b600081519050919050565b600081905092915050565b60005b838110156118db5780820151818401526020810190506118c0565b60008484015250505050565b60006118f2826118a7565b6118fc81856118b2565b935061190c8185602086016118bd565b80840191505092915050565b600061192482846118e7565b915081905092915050565b60008151905061193e81610e3a565b92915050565b60006020828403121561195a57611959610df0565b5b60006119688482850161192f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6119a98161175c565b82525050565b60006080820190506119c46000830187611232565b6119d160208301866119a0565b6119de6040830185611232565b6119eb6060830184611232565b9594505050505056fea2646970667358221220f1a0fa1576e34acb9d464e48852e4c9fd6a1700e01c80f69b0ddce502e250ae364736f6c63430008130033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636cf6d6751161008c578063af082a7d11610066578063af082a7d14610213578063ba95ec2714610231578063bd7c31531461024f578063d5f394881461026d576100ea565b80636cf6d675146101bb57806384330d4c146101d95780639e45a913146101f5576100ea565b80634394f6f3116100c85780634394f6f314610147578063452a9320146101635780634f76f1ee146101815780635e0d3b0f1461019f576100ea565b8063158ef93e146100ef578063185bf52b1461010d5780631a8bcd3414610129575b600080fd5b6100f761028b565b6040516101049190610dd5565b60405180910390f35b61012760048036038101906101229190610e66565b61029e565b005b610131610409565b60405161013e9190610ec8565b60405180910390f35b610161600480360381019061015c9190610ee3565b61040f565b005b61016b61051a565b6040516101789190610f8b565b60405180910390f35b61018961053e565b6040516101969190610ec8565b60405180910390f35b6101b960048036038101906101b49190611085565b610544565b005b6101c36106f4565b6040516101d09190610ec8565b60405180910390f35b6101f360048036038101906101ee9190611176565b6106fa565b005b6101fd6108bd565b60405161020a9190611241565b60405180910390f35b61021b6108e1565b6040516102289190611241565b60405180910390f35b6102396108e7565b6040516102469190610ec8565b60405180910390f35b6102576108ed565b6040516102649190611241565b60405180910390f35b610275610914565b6040516102829190610f8b565b60405180910390f35b600560149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610323576040517fef6d0f0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546103e860045461033691906112ba565b4261034191906112eb565b1015610379576040517f1c36ced200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045482116103b4576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260028190555081600481905550806001819055507fd7067f3840022e90166b8566f9982288b89ec7479b8eb30fad06290f18c8cb098383836040516103fc9392919061131f565b60405180910390a1505050565b6103e881565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610496576040517f8b906c9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560149054906101000a900460ff16156104dd576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff0219169083151502179055508360028190555082600481905550816003819055508060018190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b818190508484905014610583576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546105bd60025460045487876040516020016105a29291906114b5565b6040516020818303038152906040528051906020012061093a565b146105f4576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b866000013587806020019061062f91906114e8565b806000019061063e9190611510565b89806020019061064e91906114e8565b602001358a806020019061066291906114e8565b604001358b806020019061067691906114e8565b606001358c806020019061068a91906114e8565b608001356001548e604001358f80602001906106a691906114e8565b60a001356040516020016106c49b9a999897969594939291906115d1565b6040516020818303038152906040528051906020012090506106ec8585858585600254610992565b505050505050565b60035481565b818190508484905014610739576040517fc6617b7b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454851015610775576040517f780635d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008667ffffffffffffffff16036107b9576040517fc3b70c8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084846040516020016107ce9291906114b5565b6040516020818303038152906040528051906020012090506001546107f86002546004548461093a565b1461082f576040517f177b5d9200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108468867ffffffffffffffff16888b61093a565b90506108588686868685600254610992565b806001819055508767ffffffffffffffff16600281905550866004819055507fe304b71f81a1aaf6d714401de28ba1ebdbb5ff9c5fee59ef2a6eb984f9e8da7e88888b6040516108aa939291906116b1565b60405180910390a1505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60025481565b7f74656c6c6f7243757272656e744174746573746174696f6e000000000000000060001b81565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f000000000000000000000000000000000000000000000000000000000000000084848460405160200161097394939291906116e8565b6040516020818303038152906040528051906020012090509392505050565b6003546103e86004546109a591906112ba565b426109b091906112eb565b11156109e8576040517fe5e5e46400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b87879050811015610b49576000801b868683818110610a0e57610a0d61172d565b5b90506060020160200135148015610a4357506000801b868683818110610a3757610a3661172d565b5b90506060020160400135145b8015610a7c57506000868683818110610a5f57610a5e61172d565b5b9050606002016000016020810190610a779190611795565b60ff16145b610b3657610acd888883818110610a9657610a9561172d565b5b9050604002016000016020810190610aae91906117c2565b85888885818110610ac257610ac161172d565b5b905060600201610b8d565b610b03576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b878782818110610b1657610b1561172d565b5b9050604002016020013582610b2b91906117ef565b915082821015610b49575b8080610b4190611823565b9150506109ec565b5081811015610b84576040517fcabeb65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b6000600283604051602001610ba2919061188c565b604051602081830303815290604052604051610bbe9190611918565b602060405180830381855afa158015610bdb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610bfe9190611944565b9250600080610c2985856000016020810190610c1a9190611795565b86602001358760400135610cc6565b509150915060006003811115610c4257610c41611971565b5b816003811115610c5557610c54611971565b5b14610c8c576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115610d06576000600385925092509250610db0565b600060018888888860405160008152602001604052604051610d2b94939291906119af565b6020604051602081039080840390855afa158015610d4d573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610da157600060016000801b93509350935050610db0565b8060008060001b935093509350505b9450945094915050565b60008115159050919050565b610dcf81610dba565b82525050565b6000602082019050610dea6000830184610dc6565b92915050565b600080fd5b600080fd5b6000819050919050565b610e0d81610dfa565b8114610e1857600080fd5b50565b600081359050610e2a81610e04565b92915050565b6000819050919050565b610e4381610e30565b8114610e4e57600080fd5b50565b600081359050610e6081610e3a565b92915050565b600080600060608486031215610e7f57610e7e610df0565b5b6000610e8d86828701610e1b565b9350506020610e9e86828701610e1b565b9250506040610eaf86828701610e51565b9150509250925092565b610ec281610dfa565b82525050565b6000602082019050610edd6000830184610eb9565b92915050565b60008060008060808587031215610efd57610efc610df0565b5b6000610f0b87828801610e1b565b9450506020610f1c87828801610e1b565b9350506040610f2d87828801610e1b565b9250506060610f3e87828801610e51565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f7582610f4a565b9050919050565b610f8581610f6a565b82525050565b6000602082019050610fa06000830184610f7c565b92915050565b600080fd5b600060608284031215610fc157610fc0610fa6565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610fef57610fee610fca565b5b8235905067ffffffffffffffff81111561100c5761100b610fcf565b5b60208301915083604082028301111561102857611027610fd4565b5b9250929050565b60008083601f84011261104557611044610fca565b5b8235905067ffffffffffffffff81111561106257611061610fcf565b5b60208301915083606082028301111561107e5761107d610fd4565b5b9250929050565b6000806000806000606086880312156110a1576110a0610df0565b5b600086013567ffffffffffffffff8111156110bf576110be610df5565b5b6110cb88828901610fab565b955050602086013567ffffffffffffffff8111156110ec576110eb610df5565b5b6110f888828901610fd9565b9450945050604086013567ffffffffffffffff81111561111b5761111a610df5565b5b6111278882890161102f565b92509250509295509295909350565b600067ffffffffffffffff82169050919050565b61115381611136565b811461115e57600080fd5b50565b6000813590506111708161114a565b92915050565b600080600080600080600060a0888a03121561119557611194610df0565b5b60006111a38a828b01610e51565b97505060206111b48a828b01611161565b96505060406111c58a828b01610e1b565b955050606088013567ffffffffffffffff8111156111e6576111e5610df5565b5b6111f28a828b01610fd9565b9450945050608088013567ffffffffffffffff81111561121557611214610df5565b5b6112218a828b0161102f565b925092505092959891949750929550565b61123b81610e30565b82525050565b60006020820190506112566000830184611232565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112c582610dfa565b91506112d083610dfa565b9250826112e0576112df61125c565b5b828204905092915050565b60006112f682610dfa565b915061130183610dfa565b92508282039050818111156113195761131861128b565b5b92915050565b60006060820190506113346000830186610eb9565b6113416020830185610eb9565b61134e6040830184611232565b949350505050565b600082825260208201905092915050565b6000819050919050565b61137a81610f6a565b811461138557600080fd5b50565b60008135905061139781611371565b92915050565b60006113ac6020840184611388565b905092915050565b6113bd81610f6a565b82525050565b60006113d26020840184610e1b565b905092915050565b6113e381610dfa565b82525050565b604082016113fa600083018361139d565b61140760008501826113b4565b5061141560208301836113c3565b61142260208501826113da565b50505050565b600061143483836113e9565b60408301905092915050565b600082905092915050565b6000604082019050919050565b60006114648385611356565b935061146f82611367565b8060005b858110156114a8576114858284611440565b61148f8882611428565b975061149a8361144b565b925050600181019050611473565b5085925050509392505050565b600060208201905081810360008301526114d0818486611458565b90509392505050565b600080fd5b600080fd5b600080fd5b60008235600160c003833603038112611504576115036114d9565b5b80830191505092915050565b6000808335600160200384360303811261152d5761152c6114d9565b5b80840192508235915067ffffffffffffffff82111561154f5761154e6114de565b5b60208301925060018202360383131561156b5761156a6114e3565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006115b08385611573565b93506115bd838584611584565b6115c683611593565b840190509392505050565b6000610140820190506115e7600083018e611232565b6115f4602083018d611232565b8181036040830152611607818b8d6115a4565b9050611616606083018a610eb9565b6116236080830189610eb9565b61163060a0830188610eb9565b61163d60c0830187610eb9565b61164a60e0830186611232565b611658610100830185610eb9565b611666610120830184610eb9565b9c9b505050505050505050505050565b6000819050919050565b600061169b61169661169184611136565b611676565b610dfa565b9050919050565b6116ab81611680565b82525050565b60006060820190506116c660008301866116a2565b6116d36020830185610eb9565b6116e06040830184611232565b949350505050565b60006080820190506116fd6000830187611232565b61170a6020830186610eb9565b6117176040830185610eb9565b6117246060830184611232565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6117728161175c565b811461177d57600080fd5b50565b60008135905061178f81611769565b92915050565b6000602082840312156117ab576117aa610df0565b5b60006117b984828501611780565b91505092915050565b6000602082840312156117d8576117d7610df0565b5b60006117e684828501611388565b91505092915050565b60006117fa82610dfa565b915061180583610dfa565b925082820190508082111561181d5761181c61128b565b5b92915050565b600061182e82610dfa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118605761185f61128b565b5b600182019050919050565b6000819050919050565b61188661188182610e30565b61186b565b82525050565b60006118988284611875565b60208201915081905092915050565b600081519050919050565b600081905092915050565b60005b838110156118db5780820151818401526020810190506118c0565b60008484015250505050565b60006118f2826118a7565b6118fc81856118b2565b935061190c8185602086016118bd565b80840191505092915050565b600061192482846118e7565b915081905092915050565b60008151905061193e81610e3a565b92915050565b60006020828403121561195a57611959610df0565b5b60006119688482850161192f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6119a98161175c565b82525050565b60006080820190506119c46000830187611232565b6119d160208301866119a0565b6119de6040830185611232565b6119eb6060830184611232565b9594505050505056fea2646970667358221220f1a0fa1576e34acb9d464e48852e4c9fd6a1700e01c80f69b0ddce502e250ae364736f6c63430008130033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/contracts/testing/bridge/Constants.sol b/contracts/testing/bridge/Constants.sol deleted file mode 100644 index f28221d..0000000 --- a/contracts/testing/bridge/Constants.sol +++ /dev/null @@ -1,12 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -pragma solidity 0.8.19; - -/// @dev bytes32 encoding of the string "tellorCurrentAttestation" -bytes32 constant NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR = - 0x74656c6c6f7243757272656e744174746573746174696f6e0000000000000000; - -/// @dev bytes32 encoding of the string "checkpoint" -bytes32 constant VALIDATOR_SET_HASH_DOMAIN_SEPARATOR = - 0x636865636b706f696e7400000000000000000000000000000000000000000000; - - \ No newline at end of file diff --git a/contracts/testing/bridge/TellorDataBridge.sol b/contracts/testing/bridge/TellorDataBridge.sol index bde746d..965aa8b 100644 --- a/contracts/testing/bridge/TellorDataBridge.sol +++ b/contracts/testing/bridge/TellorDataBridge.sol @@ -2,7 +2,6 @@ pragma solidity 0.8.19; import {ECDSA} from "./ECDSA.sol"; -import "./Constants.sol"; struct OracleAttestationData { bytes32 queryId; @@ -47,6 +46,12 @@ contract TellorDataBridge is ECDSA { address public deployer; /// Address that deployed the contract. bool public initialized; /// True if the contract is initialized. uint256 public constant MS_PER_SECOND = 1000; // factor to convert milliseconds to seconds + bytes32 public constant NEW_REPORT_ATTESTATION_DOMAIN_SEPARATOR = // "tellorCurrentAttestation" + 0x74656c6c6f7243757272656e744174746573746174696f6e0000000000000000; + // For tellor mainnet, this is "0x636865636b706f696e7400000000000000000000000000000000000000000000". + // Otherwise, we take the tellor chain id as a string, and the validator set domain separator is + // keccak256(abi.encode("checkpoint", TELLOR_CHAIN_ID)). This differentiates between different networks. + bytes32 public immutable VALIDATOR_SET_HASH_DOMAIN_SEPARATOR; /*Events*/ event GuardianResetValidatorSet(uint256 _powerThreshold, uint256 _validatorTimestamp, bytes32 _validatorSetHash); @@ -69,10 +74,12 @@ contract TellorDataBridge is ECDSA { /// @notice Constructor for the TellorDataBridge contract. /// @param _guardian Guardian address. constructor( - address _guardian + address _guardian, + bytes32 _validatorSetHashDomainSeparator ) { guardian = _guardian; deployer = msg.sender; + VALIDATOR_SET_HASH_DOMAIN_SEPARATOR = _validatorSetHashDomainSeparator; } /// @notice This function is called only once by the deployer to initialize the contract @@ -272,7 +279,7 @@ contract TellorDataBridge is ECDSA { uint256 _powerThreshold, uint256 _validatorTimestamp, bytes32 _validatorSetHash - ) internal pure returns (bytes32) { + ) internal view returns (bytes32) { return keccak256( abi.encode( @@ -302,4 +309,3 @@ contract TellorDataBridge is ECDSA { return _signer == _recovered; } } - diff --git a/src/helpers/evmHelpers.js b/src/helpers/evmHelpers.js index 3322f87..7f6a8a6 100644 --- a/src/helpers/evmHelpers.js +++ b/src/helpers/evmHelpers.js @@ -1,20 +1,24 @@ const { ethers, network } = require("hardhat"); -const hash = ethers.keccak256; -var assert = require('assert'); -// const { impersonateAccount, takeSnapshot } = require("@nomicfoundation/hardhat-network-helpers"); +const assert = require('assert'); -var assert = require('assert'); +const hash = ethers.keccak256; const abiCoder = new ethers.AbiCoder(); -const takeFifteen = async () => { - await advanceTime(60 * 18); -}; - -advanceTime = async (time) => { +/** + * Advances the time by the given amount. + * @param {number} time - The amount of time to advance in seconds + * @returns {void} + */ +async function advanceTime(time) { await network.provider.send("evm_increaseTime", [time]) await network.provider.send("evm_mine") } +/** + * Expects a throw from a promise. + * @param {Promise} promise - The promise to expect a throw from + * @returns {void} + */ async function expectThrow(promise) { try { await promise; @@ -31,14 +35,20 @@ async function expectThrow(promise) { assert.fail("Expected throw not received"); } -function to18(n) { - return ethers.BigNumber.from(n).mul(ethers.BigNumber.from(10).pow(18)) -} - +/** + * Converts a number to a bytes32 string. + * @param {number} n - The number to convert to a bytes32 string + * @returns {string} The bytes32 string + */ function tob32(n) { return ethers.formatBytes32String(n) } +/** + * Converts a number to a bytes32 string. + * @param {number} n - The number to convert to a bytes32 string + * @returns {string} The bytes32 string + */ function uintTob32(n){ let vars = ethers.hexlify(n) vars = vars.slice(2) @@ -53,33 +63,62 @@ function bytes(n){ return ethers.hexlify(n) } +/** + * Gets the current block. + * @returns {Object} The current block + */ function getBlock(){ return ethers.provider.getBlock() } +/** + * Converts a number from ether to wei. + * @param {number} n - The number to convert to wei + * @returns {ethers.BigNumber} The number in wei + */ function toWei(n){ return ethers.parseEther(n) } +/** + * Converts a number from wei to ether. + * @param {ethers.BigNumber} n - The number to convert from wei + * @returns {number} The number in ether + */ function fromWei(n){ return ethers.formatEther(n) } +/** + * Sleeps for the given amount of seconds. + * @param {number} s - The amount of seconds to sleep + * @returns {Promise} A promise that resolves after the given amount of seconds + */ function sleep(s) { return new Promise(resolve => setTimeout(resolve, s * 1000)); } - -calculateValCheckpoint = (valHash, threshold, valTimestamp) => { - domainSeparator = "0x636865636b706f696e7400000000000000000000000000000000000000000000" +/** + * Calculates the validator checkpoint. + * @param {string} valHash - The validator hash + * @param {number} threshold - The threshold + * @param {number} valTimestamp - The validator timestamp + * @param {string} domainSeparator - The domain separator (defaults to mainnet domain separator) + * @returns {string} The validator checkpoint + */ +function calculateValCheckpoint(valHash, threshold, valTimestamp, domainSeparator="0x636865636b706f696e7400000000000000000000000000000000000000000000") { enc = abiCoder.encode(["bytes32", "uint256", "uint256", "bytes32"], [domainSeparator, threshold, valTimestamp, valHash]) valCheckpoint = hash(enc) - //valCheckpoint = ethers.solidityPackedKeccak256(["bytes32", "uint256", "uint256", "bytes32"], [domainSeparator, threshold, valTimestamp, valHash]) - //valCheckpoint = ethers.solidityPackedKeccak256(enc) return valCheckpoint } -calculateValHash = (valSet, powers) => { +/** + * Calculates the validator set hash. + * @param {Array} valSet - The validator set + * @param {Array} powers - The powers + * @returns {string} The validator hash + */ +function calculateValHash(valSet, powers) { structArray = [] for (i = 0; i < valSet.length; i++) { structArray[i] = { @@ -94,7 +133,12 @@ calculateValHash = (valSet, powers) => { return valHash } -getEthSignedMessageHash = (messageHash) => { +/** + * Calculates the Ethereum signed message hash. + * @param {string} messageHash - The message hash + * @returns {string} The Ethereum signed message hash + */ +function getEthSignedMessageHash(messageHash) { const prefix = "\x19Ethereum Signed Message:\n32"; const messageHashBytes = ethers.getBytes(messageHash); const prefixBytes = ethers.getBytes(prefix); @@ -103,15 +147,36 @@ getEthSignedMessageHash = (messageHash) => { return digest; } -getDataDigest = (queryId, value, timestamp, aggregatePower, previousTimestamp, nextTimestamp, valCheckpoint, attestationTimestamp, lastConsensusTimestamp) => { +/** + * Calculates the tellor data digest, also known as a "snapshot". + * @param {string} queryId - The query ID + * @param {string} value - The encoded value + * @param {number} timestamp - The timestamp + * @param {number} aggregatePower - The aggregate power + * @param {number} previousTimestamp - The previous timestamp + * @param {number} nextTimestamp - The next timestamp + * @param {string} valCheckpoint - The validator checkpoint + * @param {number} attestationTimestamp - The attestation timestamp + * @param {number} lastConsensusTimestamp - The last consensus timestamp + * @returns {string} The data digest + */ +function getDataDigest(queryId, value, timestamp, aggregatePower, previousTimestamp, nextTimestamp, valCheckpoint, attestationTimestamp, lastConsensusTimestamp) { const DOMAIN_SEPARATOR = "0x74656c6c6f7243757272656e744174746573746174696f6e0000000000000000" enc = abiCoder.encode(["bytes32", "bytes32", "bytes", "uint256", "uint256", "uint256", "uint256", "bytes32", "uint256", "uint256"], [DOMAIN_SEPARATOR, queryId, value, timestamp, aggregatePower, previousTimestamp, nextTimestamp, valCheckpoint, attestationTimestamp, lastConsensusTimestamp]) return hash(enc) } - -getValSetStructArray = (valAddrs, powers) => { +/** + * Converts arrays of validator addresses and powers to a struct array. + * @param {Array} valAddrs - The validator addresses + * @param {Array} powers - The powers + * @returns {Array} The validator set struct array + * @example + * const valSetStructArray = getValSetStructArray(["0x123", "0x456"], [1, 2]) + * // returns [{ addr: "0x123", power: 1 }, { addr: "0x456", power: 2 }] + */ +function getValSetStructArray(valAddrs, powers) { structArray = [] for (i = 0; i < valAddrs.length; i++) { structArray[i] = { @@ -122,7 +187,15 @@ getValSetStructArray = (valAddrs, powers) => { return structArray } -getSigStructArray = (sigs) => { +/** + * Converts arrays of signatures to a struct array. + * @param {Array} sigs - The signatures + * @returns {Array} The signature struct array + * @example + * const sigStructArray = getSigStructArray([{ v: 0, r: "0x123", s: "0x456" }, { v: 1, r: "0x789", s: "0xabc" }]) + * // returns [{ v: 0, r: "0x123", s: "0x456" }, { v: 1, r: "0x789", s: "0xabc" }] + */ +function getSigStructArray(sigs) { structArray = [] for (i = 0; i < sigs.length; i++) { if(sigs[i].v == 0){ @@ -144,7 +217,19 @@ getSigStructArray = (sigs) => { return structArray } -getOracleDataStruct = (queryId, value, timestamp, aggregatePower, previousTimestamp, nextTimestamp, attestTimestamp, lastConsensusTimestamp) => { +/** + * Converts oracle data and metadata to a struct compatible with the databridge contract. + * @param {string} queryId - The query ID + * @param {string} value - The encoded value + * @param {number} timestamp - The timestamp + * @param {number} aggregatePower - The aggregate power + * @param {number} previousTimestamp - The previous timestamp + * @param {number} nextTimestamp - The next timestamp + * @param {number} attestTimestamp - The attestation timestamp + * @param {number} lastConsensusTimestamp - The last consensus timestamp + * @returns {Object} The oracle data struct + */ +function getOracleDataStruct(queryId, value, timestamp, aggregatePower, previousTimestamp, nextTimestamp, attestTimestamp, lastConsensusTimestamp) { return { queryId: queryId, report: { @@ -159,14 +244,29 @@ getOracleDataStruct = (queryId, value, timestamp, aggregatePower, previousTimest } } -getWithdrawValue = (_recipient, _sender, _amount) =>{ - myVal = abiCoder.encode(["address", "string", "uint256", "uint256"], +/** + * Encodes tellor token bridge withdraw values into an oracle value. + * @param {string} _recipient - The recipient (evm address) + * @param {string} _sender - The sender (tellor layer address) + * @param {number} _amount - The amount (amount in loya, 1e6) + * @returns {string} The withdraw value + */ +function getWithdrawValue(_recipient, _sender, _amount) { // tip is 0 for withdrawals - [_recipient, _sender, _amount, 0]) + myVal = abiCoder.encode(["address", "string", "uint256", "uint256"], + [_recipient, _sender, _amount, 0]) return myVal } -getCurrentAggregateReport = (_queryId, _value, _timestamp,_reporterPower) => { +/** + * Creates an oracle attestation data struct. + * @param {string} _queryId - The query ID + * @param {string} _value - The encoded value + * @param {number} _timestamp - The timestamp + * @param {number} _reporterPower - The reporter power + * @returns {Object} The oracle attestation data struct + */ +function getCurrentAggregateReport(_queryId, _value, _timestamp,_reporterPower) { reportData = { value: _value, timestamp: _timestamp, @@ -182,7 +282,13 @@ getCurrentAggregateReport = (_queryId, _value, _timestamp,_reporterPower) => { return oracleAttestationData } -layerSign = (message, privateKey) => { +/** + * Using a private key, signs the sha256 hash of a message. + * @param {string} message - The message to sign + * @param {string} privateKey - The private key to sign with + * @returns {Object} The signature + */ +function layerSign(message, privateKey) { // assumes message is bytesLike messageHash = ethers.sha256(message) signingKey = new ethers.SigningKey(privateKey) @@ -190,49 +296,240 @@ layerSign = (message, privateKey) => { return signature } -prepareOracleData = async (queryId, value, validators, powers, validatorCheckpoint) => { - blocky = await getBlock() - timestamp = (blocky.timestamp - 2) * 1000 - aggregatePower = powers.reduce((a, b) => a + b, 0) - attestTimestamp = timestamp + 1000 - previousTimestamp = 0 - nextTimestamp = 0 - lastConsensusTimestamp = timestamp - dataDigest = await getDataDigest( - queryId, - value, - timestamp, - aggregatePower, - previousTimestamp, - nextTimestamp, - validatorCheckpoint, - attestTimestamp, - lastConsensusTimestamp - ) - valAddrs = validators.map(v => v.address) - currentValSetArray = await getValSetStructArray(valAddrs, powers) - sigs = [] - for (i = 0; i < validators.length; i++) { - sigs.push(layerSign(dataDigest, validators[i].privateKey)) +/** + * Prepares oracle data for relaying to a user contract. + * @param {string} queryId - The query ID for the oracle data + * @param {string} value - The encoded value to be reported + * @param {Array} validators - Array of validator objects with address and privateKey + * @param {Array} powers - Array of validator powers + * @param {string} validatorCheckpoint - The validator checkpoint hash + * @param {Object} overrides - Optional overrides for any calculated values + * @param {number} overrides.aggregateTimestamp - Custom aggregate timestamp (default: (block.timestamp - 2) * 1000) + * @param {number} overrides.aggregatePower - Custom aggregate power (default: sum of powers) + * @param {number} overrides.attestationTimestamp - Custom attestation timestamp (default: aggregateTimestamp + 1000) + * @param {number} overrides.previousTimestamp - Custom previous timestamp (default: 0) + * @param {number} overrides.nextTimestamp - Custom next timestamp (default: 0) + * @param {number} overrides.lastConsensusTimestamp - Custom last consensus timestamp (default: aggregateTimestamp for consensus data) + * @param {boolean} overrides.ignoreInvariantChecks - Whether to skip invariant checks (default: false) + * @returns {Object} Object containing attestData, currentValidatorSet, and sigs + */ +async function prepareOracleData(queryId, value, validators, powers, validatorCheckpoint, overrides = {}) { + const blocky = await getBlock(); + + // Calculate defaults + const defaultAggregateTimestamp = (blocky.timestamp - 2) * 1000; + const defaultAggregatePower = powers.reduce((a, b) => a + b, 0); + + // Use overrides or defaults + const aggregateTimestamp = overrides.aggregateTimestamp !== undefined ? overrides.aggregateTimestamp : defaultAggregateTimestamp; + const aggregatePower = overrides.aggregatePower !== undefined ? overrides.aggregatePower : defaultAggregatePower; + const attestationTimestamp = overrides.attestationTimestamp !== undefined ? overrides.attestationTimestamp : aggregateTimestamp + 1000; + const previousTimestamp = overrides.previousTimestamp !== undefined ? overrides.previousTimestamp : 0; + const nextTimestamp = overrides.nextTimestamp !== undefined ? overrides.nextTimestamp : 0; + // Default to consensus data (aggregateTimestamp == lastConsensusTimestamp) + const lastConsensusTimestamp = overrides.lastConsensusTimestamp !== undefined ? overrides.lastConsensusTimestamp : aggregateTimestamp; + + // Validate invariants if not overridden. These are not checked by the contract. But they are expected behavior, + // and help when writing tests. They can be ignored if testing for invariant violations. + if (!overrides.ignoreInvariantChecks) { + if (previousTimestamp > 0 && aggregateTimestamp <= previousTimestamp) { + throw new Error("Invariant violation: aggregateTimestamp must be > previousTimestamp"); + } + if (nextTimestamp > 0 && nextTimestamp <= aggregateTimestamp) { + throw new Error("Invariant violation: nextTimestamp must be > aggregateTimestamp or 0"); + } + if (attestationTimestamp < aggregateTimestamp) { + throw new Error("Invariant violation: attestationTimestamp must be >= aggregateTimestamp"); + } + if (attestationTimestamp < lastConsensusTimestamp) { + throw new Error("Invariant violation: attestationTimestamp must be >= lastConsensusTimestamp"); + } + } + + // Generate data digest + const dataDigest = await getDataDigest( + queryId, + value, + aggregateTimestamp, + aggregatePower, + previousTimestamp, + nextTimestamp, + validatorCheckpoint, + attestationTimestamp, + lastConsensusTimestamp + ); + + // Prepare validator set + const valAddrs = validators.map(v => v.address); + const currentValSetArray = await getValSetStructArray(valAddrs, powers); + + // Generate signatures + const sigs = []; + for (let i = 0; i < validators.length; i++) { + sigs.push(layerSign(dataDigest, validators[i].privateKey)); } - sigStructArray = await getSigStructArray(sigs) - oracleDataStruct = await getOracleDataStruct( - queryId, - value, - timestamp, - aggregatePower, - previousTimestamp, - nextTimestamp, - attestTimestamp, - lastConsensusTimestamp - ) + const sigStructArray = await getSigStructArray(sigs); + + // Create oracle data struct + const oracleDataStruct = await getOracleDataStruct( + queryId, + value, + aggregateTimestamp, + aggregatePower, + previousTimestamp, + nextTimestamp, + attestationTimestamp, + lastConsensusTimestamp + ); + return { attestData: oracleDataStruct, currentValidatorSet: currentValSetArray, sigs: sigStructArray + }; +} + +/** + * Converts attestData struct to array. Useful when the attestData struct is emitted in an event. + * @param {Object} attestData - The attestData struct to convert to an array + * @returns {Array} Array of attestData struct + */ +function attestDataStructToArray(attestData) { + return [ + attestData.queryId, + [ + attestData.report.value, + attestData.report.timestamp, + attestData.report.aggregatePower, + attestData.report.previousTimestamp, + attestData.report.nextTimestamp, + attestData.report.lastConsensusTimestamp, + ], + attestData.attestationTimestamp, + ]; +} + +/** + * Gets the domain separator for the given layer chain ID. + * @param {string} layerChainId - The layer chain ID (defaults to mainnet, "tellor-1") + * @returns {string} The domain separator + */ +function getDomainSeparator(layerChainId = "tellor-1") { + if (layerChainId == "tellor-1") { + return "0x636865636b706f696e7400000000000000000000000000000000000000000000" + } else { + return ethers.keccak256(abiCoder.encode(["string", "string"], ["checkpoint", layerChainId])) } } +/** + * Deep freezes an object. + * @param {Object} obj - The object to deep freeze + * @returns {Object} The deep frozen object + */ +function deepFreeze(obj) { + Object.freeze(obj); + for (const v of Object.values(obj)) { + if (v && typeof v === "object" && !Object.isFrozen(v)) deepFreeze(v); + } + return obj; +} + +/** + * Creates a tellor validator set for testing data bridge interactions. + * @param {Object} opts - The options for creating the validator set + * @param {number} opts.valCount - The number of validators (default: 1) + * @param {Array} opts.powers - The powers for the validators (default: [100]) + * @param {number} opts.validatorTimestamp - The timestamp for the validator set (default: 0) + * @param {string} opts.tellorChainId - The tellor chain ID (default: "tellor-1") + * @param {Array} opts.wallets - The wallets for the validators (default: []) + * @param {Function} opts.walletFactory - The wallet factory function (default: () => ethers.Wallet.createRandom()) + * @returns {Object} The validator set + */ +async function createTellorValset({ + valCount = 1, + powers, + validatorTimestamp, + tellorChainId = "tellor-1", + wallets, + walletFactory = () => ethers.Wallet.createRandom(), +} = {}) { + // derive final wallets + const finalWallets = wallets?.length + ? wallets + : Array.from({ length: valCount }, () => walletFactory()); + + const finalValCount = finalWallets.length; + + // derive powers + const finalPowers = + powers?.length ? powers + : Array.from({ length: finalValCount }, () => 100); + + if (finalPowers.length !== finalValCount) { + throw new Error("powers.length must match wallets length"); + } + + // timestamp + let finalTimestamp = validatorTimestamp; + if (finalTimestamp == null) { + const block = await getBlock(); + finalTimestamp = (block.timestamp - 2) * 1000; + } + + const domainSeparator = getDomainSeparator(tellorChainId); + + // compute + const totalPower = finalPowers.reduce((a, b) => a + b, 0); + const powerThreshold = Math.floor((totalPower * 2) / 3); + + const addresses = finalWallets.map(w => w.address); + const valsetHash = calculateValHash(addresses, finalPowers); + const checkpoint = calculateValCheckpoint( + valsetHash, + powerThreshold, + finalTimestamp, + domainSeparator + ); + + const data = { + validators: finalWallets.map((w, i) => ({ wallet: w, power: finalPowers[i] })), + wallets: finalWallets, + addresses, + powers: finalPowers, + totalPower, + powerThreshold, + timestamp: finalTimestamp, + domainSeparator, + valsetHash, + checkpoint, + }; + + const api = { + structArray() { + return data.validators.map(v => ({ + address: v.wallet.address, + power: v.power, + })); + }, + + toJSON() { + return { + addresses: data.addresses, + powers: data.powers, + totalPower: data.totalPower, + powerThreshold: data.powerThreshold, + timestamp: data.timestamp, + domainSeparator: data.domainSeparator, + valsetHash: data.valsetHash, + checkpoint: data.checkpoint, + }; + }, + }; + + return deepFreeze({ ...data, ...api }); +} + module.exports = { getWithdrawValue, getCurrentAggregateReport, @@ -243,22 +540,21 @@ module.exports = { getEthSignedMessageHash, calculateValCheckpoint, calculateValHash, - timeTarget: 240, hash, - zeroAddress: "0x0000000000000000000000000000000000000000", - to18, uintTob32, tob32, bytes, getBlock, advanceTime, - takeFifteen, toWei, fromWei, expectThrow, sleep, layerSign, prepareOracleData, - abiCoder + abiCoder, + attestDataStructToArray, + getDomainSeparator, + createTellorValset }; diff --git a/test/YoloTellorUser.js b/test/YoloTellorUser.js index 2b6b03c..a968eea 100644 --- a/test/YoloTellorUser.js +++ b/test/YoloTellorUser.js @@ -5,27 +5,21 @@ const abiCoder = new ethers.AbiCoder(); describe("YoloTellorUser - Function Tests", async function () { - let dataBridge, user, accounts, guardian, initialPowers, initialValAddrs, valCheckpoint; - let val1, val2, val3; + let dataBridge, user, accounts, guardian, validatorSet; + // for tellor mainnet, use "tellor-1" + // for tellor palmito testnet, use "layertest-4" + const TELLOR_CHAIN_ID = "layertest-4"; const UNBONDING_PERIOD = 86400 * 7 * 3; // 3 weeks beforeEach(async function () { // init accounts accounts = await ethers.getSigners(); guardian = accounts[10] - // init validator info - val1 = ethers.Wallet.createRandom() - val2 = ethers.Wallet.createRandom() - initialValAddrs = [val1.address, val2.address] - initialPowers = [1, 2] - threshold = 2 - blocky = await h.getBlock() - valTimestamp = (blocky.timestamp - 2) * 1000 - newValHash = await h.calculateValHash(initialValAddrs, initialPowers) - valCheckpoint = h.calculateValCheckpoint(newValHash, threshold, valTimestamp) + // init tellor validator set + validatorSet = await h.createTellorValset({tellorChainId: TELLOR_CHAIN_ID}) // deploy dataBridge - dataBridge = await ethers.deployContract("TellorDataBridge", [guardian.address]) - await dataBridge.init(threshold, valTimestamp, UNBONDING_PERIOD, valCheckpoint) + dataBridge = await ethers.deployContract("TellorDataBridge", [guardian.address, validatorSet.domainSeparator]) + await dataBridge.init(validatorSet.powerThreshold, validatorSet.timestamp, UNBONDING_PERIOD, validatorSet.checkpoint) // deploy user user = await ethers.deployContract("YoloTellorUser", [dataBridge.getAddress()]) }); @@ -35,11 +29,10 @@ describe("YoloTellorUser - Function Tests", async function () { }) it("updateOracleData", async function () { - initialValidators = [val1, val2] querydata = abiCoder.encode(["string"], ["myquery"]) queryId = h.hash(querydata) value = abiCoder.encode(["uint256"], [2000]) - const { attestData, currentValidatorSet, sigs } = await h.prepareOracleData(queryId, value, initialValidators, initialPowers, valCheckpoint) + const { attestData, currentValidatorSet, sigs } = await h.prepareOracleData(queryId, value, validatorSet.wallets, validatorSet.powers, validatorSet.checkpoint) await user.updateOracleData(attestData, currentValidatorSet, sigs) currentOracleData = await user.getCurrentOracleData() assert.equal(currentOracleData.value, 2000)