{
  "_format": "hh-sol-artifact-1",
  "contractName": "ConnextPriceOracle",
  "sourceName": "contracts/core/connext/helpers/ConnextPriceOracle.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_wrapped",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__onlyOwner_notOwner",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__onlyProposed_notProposedOwner",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__renounceOwnership_invalidProposal",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__renounceOwnership_noProposal",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "tokenAddress",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "source",
          "type": "address"
        }
      ],
      "name": "AggregatorUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "oldPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newPrice",
          "type": "uint256"
        }
      ],
      "name": "DirectPriceUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "proposedOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipProposed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "oldAddress",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newAddress",
          "type": "address"
        }
      ],
      "name": "V1PriceOracleUpdated",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "acceptProposedOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "aggregators",
      "outputs": [
        {
          "internalType": "contract AggregatorV3Interface",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "assetPrices",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "updatedAt",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "price",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "delay",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_tokenAddress",
          "type": "address"
        }
      ],
      "name": "getPriceFromChainlink",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_tokenAddress",
          "type": "address"
        }
      ],
      "name": "getPriceFromOracle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_tokenAddress",
          "type": "address"
        }
      ],
      "name": "getTokenPrice",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isPriceOracle",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newlyProposed",
          "type": "address"
        }
      ],
      "name": "proposeNewOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proposed",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proposedTimestamp",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounced",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "tokenAddresses",
          "type": "address[]"
        },
        {
          "internalType": "address[]",
          "name": "sources",
          "type": "address[]"
        }
      ],
      "name": "setAggregators",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_price",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_timestamp",
          "type": "uint256"
        }
      ],
      "name": "setDirectPrice",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_v1PriceOracle",
          "type": "address"
        }
      ],
      "name": "setV1PriceOracle",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "v1PriceOracle",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "wrapped",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b5060405161109138038061109183398101604081905261002f91610118565b6001600160a01b0381166100895760405162461bcd60e51b815260206004820152601560248201527f7a65726f20777261707065642061646472657373210000000000000000000000604482015260640160405180910390fd5b600380546001600160a01b0319166001600160a01b0383161790556100ad336100b3565b50610148565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316178155600255600180549091169055565b60006020828403121561012a57600080fd5b81516001600160a01b038116811461014157600080fd5b9392505050565b610f3a806101576000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad578063cb45c4f211610071578063cb45c4f214610270578063d02641a014610283578063d1851c9214610296578063d232c220146102a7578063fe10c98d146102b957600080fd5b8063715018a614610229578063856d562d146102315780638da5cb5b14610244578063b1f8100d14610255578063c5b350df1461026857600080fd5b8063538e573c116100f4578063538e573c146101a65780635e901bdf146101b95780635e9a523c146101cc57806366331bba146102085780636a42b8f81461022057600080fd5b8063112cdab9146101265780633cf52ffb1461016c5780633f9fb5051461017e57806350e70d4814610193575b600080fd5b61014f610134366004610bd7565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6002545b604051908152602001610163565b61019161018c366004610c3e565b6102cc565b005b60035461014f906001600160a01b031681565b6101706101b4366004610bd7565b610428565b6101916101c7366004610caa565b61043b565b6101f36101da366004610bd7565b6006602052600090815260409020805460019091015482565b60408051928352602083019190915201610163565b610210600181565b6040519015158152602001610163565b62093a80610170565b6101916105c4565b61017061023f366004610bd7565b610678565b6000546001600160a01b031661014f565b610191610263366004610bd7565b61082f565b6101916108d0565b61019161027e366004610bd7565b610940565b6101f3610291366004610bd7565b6109d4565b6001546001600160a01b031661014f565b6000546001600160a01b031615610210565b60045461014f906001600160a01b031681565b6000546001600160a01b031633146102f7576040516311a8a1bb60e31b815260040160405180910390fd5b8260005b818110156104205783838281811061031557610315610cdd565b905060200201602081019061032a9190610bd7565b6005600088888581811061034057610340610cdd565b90506020020160208101906103559190610bd7565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b031916929091169190911790557f89baabef7dfd0683c0ac16fd2a8431c51b49fbe654c3f7b5ef19763e2ccd88f28686838181106103b9576103b9610cdd565b90506020020160208101906103ce9190610bd7565b8585848181106103e0576103e0610cdd565b90506020020160208101906103f59190610bd7565b604080516001600160a01b0393841681529290911660208301520160405180910390a16001016102fb565b505050505050565b60008061043483610678565b9392505050565b6000546001600160a01b03163314610466576040516311a8a1bb60e31b815260040160405180910390fd5b816000036104a75760405162461bcd60e51b815260206004820152600960248201526862616420707269636560b81b60448201526064015b60405180910390fd5b804211156104fd57603c6104bb8242610d09565b106104f85760405162461bcd60e51b815260206004820152600d60248201526c06261642074696d657374616d7609c1b604482015260640161049e565b610545565b60036105094283610d09565b106105425760405162461bcd60e51b8152602060048201526009602482015268696e2066757475726560b81b604482015260640161049e565b50425b6001600160a01b0383166000818152600660209081526040918290206001015482519384529083015281018390527fe2c8fb681c257e4e8df5ef1c464cff10ce6b072837628c9b6de5e7239a483e5d9060600160405180910390a16001600160a01b039092166000908152600660205260409020600181019190915555565b6000546001600160a01b031633146105ef576040516311a8a1bb60e31b815260040160405180910390fd5b62093a80600254426106019190610d09565b1161061f576040516324e0285f60e21b815260040160405180910390fd5b60025460000361064257604051630e4b303f60e21b815260040160405180910390fd5b6001546001600160a01b03161561066c576040516323295ef960e01b815260040160405180910390fd5b6106766000610b08565b565b6001600160a01b03808216600090815260056020526040812054909116801561082657806001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa9250505080156106f5575060408051601f3d908101601f191682019092526106f291810190610d3c565b60015b6107025750600092915050565b83158061072657508469ffffffffffffffffffff168169ffffffffffffffffffff16105b8061072f575081155b806107435750610740603c83610d8c565b42115b1561075657506000979650505050505050565b6000849050600080886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c09190610d9f565b60ff16905060128111156107f5576107d9601282610d09565b6107e490600a610ea6565b6107ee9084610eb2565b9150610818565b610800816012610d09565b61080b90600a610ea6565b6108159084610ed4565b91505b509998505050505050505050565b50600092915050565b6000546001600160a01b0316331461085a576040516311a8a1bb60e31b815260040160405180910390fd5b6001546001600160a01b038281169116148015610878575060025415155b15610896576040516311bc066560e11b815260040160405180910390fd5b6000546001600160a01b038083169116036108c457604051634a2fb73f60e11b815260040160405180910390fd5b6108cd81610b6d565b50565b6001546001600160a01b031633146108fb576040516311a7f27160e11b815260040160405180910390fd5b62093a806002544261090d9190610d09565b1161092b576040516324e0285f60e21b815260040160405180910390fd5b600154610676906001600160a01b0316610b08565b6000546001600160a01b0316331461096b576040516311a8a1bb60e31b815260040160405180910390fd5b600454604080516001600160a01b03928316815291831660208301527f42e2900b37aa23ca681e13d6efc8018181fa216ca6676cf2b983e00e056afc2c910160405180910390a1600480546001600160a01b0319166001600160a01b0392909216919091179055565b600080826001600160a01b0381166109f457506003546001600160a01b03165b6001600160a01b0381166000908152600660205260409020600101548015801590610a4257506001600160a01b038216600090815260066020526040902054603c90610a409042610d09565b105b15610a56578060015b935093505050915091565b610a5f82610428565b90508015610a6f57806002610a4b565b6004546001600160a01b031615610b005760048054604051630681320d60e51b81526001600160a01b038581169382019390935291169063d02641a090602401602060405180830381865afa158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af09190610eeb565b90508015610b0057806003610a4b565b600080610a4b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316178155600255600180549091169055565b42600255600180546001600160a01b0319166001600160a01b0383169081179091556040517f6ab4d119f23076e8ad491bc65ce85f017fb0591dce08755ba8591059cc51737a90600090a250565b80356001600160a01b0381168114610bd257600080fd5b919050565b600060208284031215610be957600080fd5b61043482610bbb565b60008083601f840112610c0457600080fd5b50813567ffffffffffffffff811115610c1c57600080fd5b6020830191508360208260051b8501011115610c3757600080fd5b9250929050565b60008060008060408587031215610c5457600080fd5b843567ffffffffffffffff80821115610c6c57600080fd5b610c7888838901610bf2565b90965094506020870135915080821115610c9157600080fd5b50610c9e87828801610bf2565b95989497509550505050565b600080600060608486031215610cbf57600080fd5b610cc884610bbb565b95602085013595506040909401359392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d1c57610d1c610cf3565b92915050565b805169ffffffffffffffffffff81168114610bd257600080fd5b600080600080600060a08688031215610d5457600080fd5b610d5d86610d22565b9450602086015193506040860151925060608601519150610d8060808701610d22565b90509295509295909350565b80820180821115610d1c57610d1c610cf3565b600060208284031215610db157600080fd5b815160ff8116811461043457600080fd5b600181815b80851115610dfd578160001904821115610de357610de3610cf3565b80851615610df057918102915b93841c9390800290610dc7565b509250929050565b600082610e1457506001610d1c565b81610e2157506000610d1c565b8160018114610e375760028114610e4157610e5d565b6001915050610d1c565b60ff841115610e5257610e52610cf3565b50506001821b610d1c565b5060208310610133831016604e8410600b8410161715610e80575081810a610d1c565b610e8a8383610dc2565b8060001904821115610e9e57610e9e610cf3565b029392505050565b60006104348383610e05565b600082610ecf57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d1c57610d1c610cf3565b600060208284031215610efd57600080fd5b505191905056fea264697066735822122097d5d66e0be24563749d9fd7a227a0c92a1467885c145a115180d4c37c79757264736f6c63430008110033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad578063cb45c4f211610071578063cb45c4f214610270578063d02641a014610283578063d1851c9214610296578063d232c220146102a7578063fe10c98d146102b957600080fd5b8063715018a614610229578063856d562d146102315780638da5cb5b14610244578063b1f8100d14610255578063c5b350df1461026857600080fd5b8063538e573c116100f4578063538e573c146101a65780635e901bdf146101b95780635e9a523c146101cc57806366331bba146102085780636a42b8f81461022057600080fd5b8063112cdab9146101265780633cf52ffb1461016c5780633f9fb5051461017e57806350e70d4814610193575b600080fd5b61014f610134366004610bd7565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6002545b604051908152602001610163565b61019161018c366004610c3e565b6102cc565b005b60035461014f906001600160a01b031681565b6101706101b4366004610bd7565b610428565b6101916101c7366004610caa565b61043b565b6101f36101da366004610bd7565b6006602052600090815260409020805460019091015482565b60408051928352602083019190915201610163565b610210600181565b6040519015158152602001610163565b62093a80610170565b6101916105c4565b61017061023f366004610bd7565b610678565b6000546001600160a01b031661014f565b610191610263366004610bd7565b61082f565b6101916108d0565b61019161027e366004610bd7565b610940565b6101f3610291366004610bd7565b6109d4565b6001546001600160a01b031661014f565b6000546001600160a01b031615610210565b60045461014f906001600160a01b031681565b6000546001600160a01b031633146102f7576040516311a8a1bb60e31b815260040160405180910390fd5b8260005b818110156104205783838281811061031557610315610cdd565b905060200201602081019061032a9190610bd7565b6005600088888581811061034057610340610cdd565b90506020020160208101906103559190610bd7565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b031916929091169190911790557f89baabef7dfd0683c0ac16fd2a8431c51b49fbe654c3f7b5ef19763e2ccd88f28686838181106103b9576103b9610cdd565b90506020020160208101906103ce9190610bd7565b8585848181106103e0576103e0610cdd565b90506020020160208101906103f59190610bd7565b604080516001600160a01b0393841681529290911660208301520160405180910390a16001016102fb565b505050505050565b60008061043483610678565b9392505050565b6000546001600160a01b03163314610466576040516311a8a1bb60e31b815260040160405180910390fd5b816000036104a75760405162461bcd60e51b815260206004820152600960248201526862616420707269636560b81b60448201526064015b60405180910390fd5b804211156104fd57603c6104bb8242610d09565b106104f85760405162461bcd60e51b815260206004820152600d60248201526c06261642074696d657374616d7609c1b604482015260640161049e565b610545565b60036105094283610d09565b106105425760405162461bcd60e51b8152602060048201526009602482015268696e2066757475726560b81b604482015260640161049e565b50425b6001600160a01b0383166000818152600660209081526040918290206001015482519384529083015281018390527fe2c8fb681c257e4e8df5ef1c464cff10ce6b072837628c9b6de5e7239a483e5d9060600160405180910390a16001600160a01b039092166000908152600660205260409020600181019190915555565b6000546001600160a01b031633146105ef576040516311a8a1bb60e31b815260040160405180910390fd5b62093a80600254426106019190610d09565b1161061f576040516324e0285f60e21b815260040160405180910390fd5b60025460000361064257604051630e4b303f60e21b815260040160405180910390fd5b6001546001600160a01b03161561066c576040516323295ef960e01b815260040160405180910390fd5b6106766000610b08565b565b6001600160a01b03808216600090815260056020526040812054909116801561082657806001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa9250505080156106f5575060408051601f3d908101601f191682019092526106f291810190610d3c565b60015b6107025750600092915050565b83158061072657508469ffffffffffffffffffff168169ffffffffffffffffffff16105b8061072f575081155b806107435750610740603c83610d8c565b42115b1561075657506000979650505050505050565b6000849050600080886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c09190610d9f565b60ff16905060128111156107f5576107d9601282610d09565b6107e490600a610ea6565b6107ee9084610eb2565b9150610818565b610800816012610d09565b61080b90600a610ea6565b6108159084610ed4565b91505b509998505050505050505050565b50600092915050565b6000546001600160a01b0316331461085a576040516311a8a1bb60e31b815260040160405180910390fd5b6001546001600160a01b038281169116148015610878575060025415155b15610896576040516311bc066560e11b815260040160405180910390fd5b6000546001600160a01b038083169116036108c457604051634a2fb73f60e11b815260040160405180910390fd5b6108cd81610b6d565b50565b6001546001600160a01b031633146108fb576040516311a7f27160e11b815260040160405180910390fd5b62093a806002544261090d9190610d09565b1161092b576040516324e0285f60e21b815260040160405180910390fd5b600154610676906001600160a01b0316610b08565b6000546001600160a01b0316331461096b576040516311a8a1bb60e31b815260040160405180910390fd5b600454604080516001600160a01b03928316815291831660208301527f42e2900b37aa23ca681e13d6efc8018181fa216ca6676cf2b983e00e056afc2c910160405180910390a1600480546001600160a01b0319166001600160a01b0392909216919091179055565b600080826001600160a01b0381166109f457506003546001600160a01b03165b6001600160a01b0381166000908152600660205260409020600101548015801590610a4257506001600160a01b038216600090815260066020526040902054603c90610a409042610d09565b105b15610a56578060015b935093505050915091565b610a5f82610428565b90508015610a6f57806002610a4b565b6004546001600160a01b031615610b005760048054604051630681320d60e51b81526001600160a01b038581169382019390935291169063d02641a090602401602060405180830381865afa158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af09190610eeb565b90508015610b0057806003610a4b565b600080610a4b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316178155600255600180549091169055565b42600255600180546001600160a01b0319166001600160a01b0383169081179091556040517f6ab4d119f23076e8ad491bc65ce85f017fb0591dce08755ba8591059cc51737a90600090a250565b80356001600160a01b0381168114610bd257600080fd5b919050565b600060208284031215610be957600080fd5b61043482610bbb565b60008083601f840112610c0457600080fd5b50813567ffffffffffffffff811115610c1c57600080fd5b6020830191508360208260051b8501011115610c3757600080fd5b9250929050565b60008060008060408587031215610c5457600080fd5b843567ffffffffffffffff80821115610c6c57600080fd5b610c7888838901610bf2565b90965094506020870135915080821115610c9157600080fd5b50610c9e87828801610bf2565b95989497509550505050565b600080600060608486031215610cbf57600080fd5b610cc884610bbb565b95602085013595506040909401359392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d1c57610d1c610cf3565b92915050565b805169ffffffffffffffffffff81168114610bd257600080fd5b600080600080600060a08688031215610d5457600080fd5b610d5d86610d22565b9450602086015193506040860151925060608601519150610d8060808701610d22565b90509295509295909350565b80820180821115610d1c57610d1c610cf3565b600060208284031215610db157600080fd5b815160ff8116811461043457600080fd5b600181815b80851115610dfd578160001904821115610de357610de3610cf3565b80851615610df057918102915b93841c9390800290610dc7565b509250929050565b600082610e1457506001610d1c565b81610e2157506000610d1c565b8160018114610e375760028114610e4157610e5d565b6001915050610d1c565b60ff841115610e5257610e52610cf3565b50506001821b610d1c565b5060208310610133831016604e8410600b8410161715610e80575081810a610d1c565b610e8a8383610dc2565b8060001904821115610e9e57610e9e610cf3565b029392505050565b60006104348383610e05565b600082610ecf57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d1c57610d1c610cf3565b600060208284031215610efd57600080fd5b505191905056fea264697066735822122097d5d66e0be24563749d9fd7a227a0c92a1467885c145a115180d4c37c79757264736f6c63430008110033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
