{
  "_format": "hh-sol-artifact-1",
  "contractName": "EchidnaFuzzResourceMetering",
  "sourceName": "contracts/echidna/FuzzResourceMetering.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "BASE_FEE_MAX_CHANGE_DENOMINATOR",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "ELASTICITY_MULTIPLIER",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "INITIAL_BASE_FEE",
      "outputs": [
        {
          "internalType": "uint128",
          "name": "",
          "type": "uint128"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "MAXIMUM_BASE_FEE",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "MAX_RESOURCE_LIMIT",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "MINIMUM_BASE_FEE",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "TARGET_RESOURCE_LIMIT",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "echidna_high_usage_raise_baseFee",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "echidna_low_usage_lower_baseFee",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "echidna_never_above_max_gas_limit",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "echidna_never_below_min_baseFee",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "echidna_never_exceed_max_decrease",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "echidna_never_exceed_max_increase",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "echidna_underflow",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "params",
      "outputs": [
        {
          "internalType": "uint128",
          "name": "prevBaseFee",
          "type": "uint128"
        },
        {
          "internalType": "uint64",
          "name": "prevBoughtGas",
          "type": "uint64"
        },
        {
          "internalType": "uint64",
          "name": "prevBlockNum",
          "type": "uint64"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_gasToBurn",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "_raiseBaseFee",
          "type": "bool"
        }
      ],
      "name": "testBurn",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b62000206565b600054610100900460ff1615808015620000435750600054600160ff909116105b8062000073575062000060306200015460201b620007dd1760201c565b15801562000073575060005460ff166001145b620000dc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000100576000805461ff0019166101001790555b6200010a62000163565b801562000151576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6001600160a01b03163b151590565b600054610100900460ff16620001d05760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401620000d3565b60408051606081018252633b9aca0080825260006020830152436001600160401b031691909201819052600160c01b0217600155565b61191b80620002166000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063867ead1311610097578063cd7c978911610066578063cd7c9789146101f9578063cff0ab9614610201578063dccdd96b14610295578063e9f5a131146102aa57600080fd5b8063867ead13146101c157806397937ac5146101ca578063ae537645146101dd578063ca3e99ba146101f157600080fd5b806364b79208116100d357806364b79208146101925780636bb0291e1461019c57806372b61247146101a45780637b972723146101b557600080fd5b806313620abd146101055780633fcf1c9d146101365780634367392f146101585780635c1f28271461016d575b600080fd5b610110633b9aca0081565b6040516fffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6032546601000000000000900460ff16155b604051901515815260200161012d565b60325465010000000000900460ff1615610148565b6101846fffffffffffffffffffffffffffffffff81565b60405190815260200161012d565b610184627a120081565b610184600481565b603254610100900460ff1615610148565b60325460ff1615610148565b61018461271081565b6032546301000000900460ff1615610148565b603254640100000000900460ff1615610148565b6101846102bc565b610184600881565b60015461025c906fffffffffffffffffffffffffffffffff81169067ffffffffffffffff7001000000000000000000000000000000008204811691780100000000000000000000000000000000000000000000000090041683565b604080516fffffffffffffffffffffffffffffffff909416845267ffffffffffffffff928316602085015291169082015260600161012d565b6102a86102a33660046114d7565b6102cd565b005b60325462010000900460ff1615610148565b6102ca6004627a120061156a565b81565b6001546fffffffffffffffffffffffffffffffff81169067ffffffffffffffff7001000000000000000000000000000000008204811691780100000000000000000000000000000000000000000000000090041661271083101561035a57603280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff1663010000001790555b627a120082111561039157603280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b600084156103bb576103b4866103ab6004627a120061156a565b627a12006107f9565b90506103d7565b6103d48660006103cf6004627a120061156a565b6107f9565b90505b6103e08161084e565b60006103ed6008866115d2565b90506103fd6004627a120061156a565b8411801561043e575060015461043a9084907801000000000000000000000000000000000000000000000000900467ffffffffffffffff166115e6565b6001145b1561051257603254610100900460ff168061046d57506001546fffffffffffffffffffffffffffffffff168510155b60328054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff9092169190911790819055640100000000900460ff16806104d9575060015481906104d79087906fffffffffffffffffffffffffffffffff166115e6565b105b60328054911515640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff9092169190911790555b6105206004627a120061156a565b84108061055f57506001805461055d9085907801000000000000000000000000000000000000000000000000900467ffffffffffffffff166115e6565b115b156107d45760325462010000900460ff168061058e57506001546fffffffffffffffffffffffffffffffff1685105b6032805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff9092169190911790556001546105f990849067ffffffffffffffff7801000000000000000000000000000000000000000000000000909104166115e6565b6001036106775760325465010000000000900460ff168061063957506001548190610636906fffffffffffffffffffffffffffffffff16876115e6565b11155b6032805491151565010000000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff9092169190911790556107d4565b600180546106ac9085907801000000000000000000000000000000000000000000000000900467ffffffffffffffff166115e6565b11156107d457600154610709906106f09087906008907801000000000000000000000000000000000000000000000000900467ffffffffffffffff16879003610b3f565b6127106fffffffffffffffffffffffffffffffff610b9c565b60325490860391506601000000000000900460ff168061072857508481115b603280549115156601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffff909216919091179081905565010000000000900460ff168061079a57506001548190610797906fffffffffffffffffffffffffffffffff16876115e6565b11155b6032805491151565010000000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff9092169190911790555b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6000610806848484610bb1565b90506108476040518060400160405280600c81526020017f426f756e6420526573756c74000000000000000000000000000000000000000081525082610de9565b9392505050565b8060005a60015490915060009061088b907801000000000000000000000000000000000000000000000000900467ffffffffffffffff16436115e6565b905080156109a65760006108a36004627a120061156a565b6001546108ce9190700100000000000000000000000000000000900467ffffffffffffffff166115fd565b9050600060086108e26004627a120061156a565b6001546109029085906fffffffffffffffffffffffffffffffff16611671565b61090c919061156a565b610916919061156a565b600154909150600090610940906106f09084906fffffffffffffffffffffffffffffffff1661172d565b90506001841115610967576109646106f082600861095f6001896115e6565b610b3f565b90505b6fffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000067ffffffffffffffff4316021760015550505b600180548491906010906109d9908490700100000000000000000000000000000000900467ffffffffffffffff166117a1565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550627a1200600160000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff161315610aba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5265736f757263654d65746572696e673a2063616e6e6f7420627579206d6f7260448201527f6520676173207468616e20617661696c61626c6520676173206c696d6974000060648201526084015b60405180910390fd5b600154600090610ae6906fffffffffffffffffffffffffffffffff1667ffffffffffffffff86166117cd565b6fffffffffffffffffffffffffffffffff1690506000610b0a48633b9aca00610ee9565b610b1490836115d2565b905060005a610b2390866115e6565b9050808211156107d4576107d4610b3a82846115e6565b610f00565b6000670de0b6b3a7640000610b80610b57858361156a565b610b6990670de0b6b3a76400006115fd565b610b7b85670de0b6b3a7640000611671565b610f2e565b610b8a9086611671565b610b94919061156a565b949350505050565b6000610b94610bab8585610f5f565b83610f6f565b600081831115610c43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e00006064820152608401610ab1565b828410158015610c535750818411155b15610c5f575082610847565b6000610c6b84846115e6565b610c76906001611805565b905060038511158015610c8857508481115b15610c9f57610c978585611805565b915050610847565b610cca60037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6115e6565b8510158015610d015750610cfe857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6115e6565b81115b15610d3a57610d30857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6115e6565b610c9790846115e6565b82851115610d90576000610d4e84876115e6565b90506000610d5c838361181d565b905080600003610d7157849350505050610847565b6001610d7d8288611805565b610d8791906115e6565b93505050610de1565b83851015610de1576000610da486866115e6565b90506000610db2838361181d565b905080600003610dc757859350505050610847565b610dd181866115e6565b610ddc906001611805565b935050505b509392505050565b60006a636f6e736f6c652e6c6f6773ffffffffffffffffffffffffffffffffffffffff168383604051602401610e20929190611861565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb60e72cc0000000000000000000000000000000000000000000000000000000017905251610ea191906118ba565b600060405180830381855afa9150503d8060008114610edc576040519150601f19603f3d011682016040523d82523d6000602084013e610ee1565b606091505b505050505050565b600081831015610ef95781610847565b5090919050565b6000805a90505b825a610f1390836115e6565b1015610f2957610f22826118d6565b9150610f07565b505050565b6000610847670de0b6b3a764000083610f4686610f7e565b610f509190611671565b610f5a919061156a565b6111c2565b600081831215610ef95781610847565b6000818312610ef95781610847565b6000808213610fe9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f554e444546494e454400000000000000000000000000000000000000000000006044820152606401610ab1565b60006060610ff684611401565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdb731c958f34d94c182136111f357506000919050565b680755bf798b4a1bf1e58212611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4558505f4f564552464c4f5700000000000000000000000000000000000000006044820152606401610ab1565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b600080821161146c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f554e444546494e454400000000000000000000000000000000000000000000006044820152606401610ab1565b5060016fffffffffffffffffffffffffffffffff821160071b82811c67ffffffffffffffff1060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b600080604083850312156114ea57600080fd5b823591506020830135801515811461150157600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000826115795761157961150c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f8000000000000000000000000000000000000000000000000000000000000000831416156115cd576115cd61153b565b500590565b6000826115e1576115e161150c565b500490565b6000828210156115f8576115f861153b565b500390565b6000808312837f8000000000000000000000000000000000000000000000000000000000000000018312811516156116375761163761153b565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01831381161561166b5761166b61153b565b50500390565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000841360008413858304851182821616156116b2576116b261153b565b7f800000000000000000000000000000000000000000000000000000000000000060008712868205881281841616156116ed576116ed61153b565b600087129250878205871284841616156117095761170961153b565b8785058712818416161561171f5761171f61153b565b505050929093029392505050565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038413811516156117675761176761153b565b827f800000000000000000000000000000000000000000000000000000000000000003841281161561179b5761179b61153b565b50500190565b600067ffffffffffffffff8083168185168083038211156117c4576117c461153b565b01949350505050565b60006fffffffffffffffffffffffffffffffff808316818516818304811182151516156117fc576117fc61153b565b02949350505050565b600082198211156118185761181861153b565b500190565b60008261182c5761182c61150c565b500690565b60005b8381101561184c578181015183820152602001611834565b8381111561185b576000848401525b50505050565b6040815260008351806040840152611880816060850160208801611831565b602083019390935250601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601606001919050565b600082516118cc818460208701611831565b9190910192915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119075761190761153b565b506001019056fea164736f6c634300080f000a",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063867ead1311610097578063cd7c978911610066578063cd7c9789146101f9578063cff0ab9614610201578063dccdd96b14610295578063e9f5a131146102aa57600080fd5b8063867ead13146101c157806397937ac5146101ca578063ae537645146101dd578063ca3e99ba146101f157600080fd5b806364b79208116100d357806364b79208146101925780636bb0291e1461019c57806372b61247146101a45780637b972723146101b557600080fd5b806313620abd146101055780633fcf1c9d146101365780634367392f146101585780635c1f28271461016d575b600080fd5b610110633b9aca0081565b6040516fffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6032546601000000000000900460ff16155b604051901515815260200161012d565b60325465010000000000900460ff1615610148565b6101846fffffffffffffffffffffffffffffffff81565b60405190815260200161012d565b610184627a120081565b610184600481565b603254610100900460ff1615610148565b60325460ff1615610148565b61018461271081565b6032546301000000900460ff1615610148565b603254640100000000900460ff1615610148565b6101846102bc565b610184600881565b60015461025c906fffffffffffffffffffffffffffffffff81169067ffffffffffffffff7001000000000000000000000000000000008204811691780100000000000000000000000000000000000000000000000090041683565b604080516fffffffffffffffffffffffffffffffff909416845267ffffffffffffffff928316602085015291169082015260600161012d565b6102a86102a33660046114d7565b6102cd565b005b60325462010000900460ff1615610148565b6102ca6004627a120061156a565b81565b6001546fffffffffffffffffffffffffffffffff81169067ffffffffffffffff7001000000000000000000000000000000008204811691780100000000000000000000000000000000000000000000000090041661271083101561035a57603280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff1663010000001790555b627a120082111561039157603280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b600084156103bb576103b4866103ab6004627a120061156a565b627a12006107f9565b90506103d7565b6103d48660006103cf6004627a120061156a565b6107f9565b90505b6103e08161084e565b60006103ed6008866115d2565b90506103fd6004627a120061156a565b8411801561043e575060015461043a9084907801000000000000000000000000000000000000000000000000900467ffffffffffffffff166115e6565b6001145b1561051257603254610100900460ff168061046d57506001546fffffffffffffffffffffffffffffffff168510155b60328054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff9092169190911790819055640100000000900460ff16806104d9575060015481906104d79087906fffffffffffffffffffffffffffffffff166115e6565b105b60328054911515640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff9092169190911790555b6105206004627a120061156a565b84108061055f57506001805461055d9085907801000000000000000000000000000000000000000000000000900467ffffffffffffffff166115e6565b115b156107d45760325462010000900460ff168061058e57506001546fffffffffffffffffffffffffffffffff1685105b6032805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff9092169190911790556001546105f990849067ffffffffffffffff7801000000000000000000000000000000000000000000000000909104166115e6565b6001036106775760325465010000000000900460ff168061063957506001548190610636906fffffffffffffffffffffffffffffffff16876115e6565b11155b6032805491151565010000000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff9092169190911790556107d4565b600180546106ac9085907801000000000000000000000000000000000000000000000000900467ffffffffffffffff166115e6565b11156107d457600154610709906106f09087906008907801000000000000000000000000000000000000000000000000900467ffffffffffffffff16879003610b3f565b6127106fffffffffffffffffffffffffffffffff610b9c565b60325490860391506601000000000000900460ff168061072857508481115b603280549115156601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffff909216919091179081905565010000000000900460ff168061079a57506001548190610797906fffffffffffffffffffffffffffffffff16876115e6565b11155b6032805491151565010000000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff9092169190911790555b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6000610806848484610bb1565b90506108476040518060400160405280600c81526020017f426f756e6420526573756c74000000000000000000000000000000000000000081525082610de9565b9392505050565b8060005a60015490915060009061088b907801000000000000000000000000000000000000000000000000900467ffffffffffffffff16436115e6565b905080156109a65760006108a36004627a120061156a565b6001546108ce9190700100000000000000000000000000000000900467ffffffffffffffff166115fd565b9050600060086108e26004627a120061156a565b6001546109029085906fffffffffffffffffffffffffffffffff16611671565b61090c919061156a565b610916919061156a565b600154909150600090610940906106f09084906fffffffffffffffffffffffffffffffff1661172d565b90506001841115610967576109646106f082600861095f6001896115e6565b610b3f565b90505b6fffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000067ffffffffffffffff4316021760015550505b600180548491906010906109d9908490700100000000000000000000000000000000900467ffffffffffffffff166117a1565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550627a1200600160000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff161315610aba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5265736f757263654d65746572696e673a2063616e6e6f7420627579206d6f7260448201527f6520676173207468616e20617661696c61626c6520676173206c696d6974000060648201526084015b60405180910390fd5b600154600090610ae6906fffffffffffffffffffffffffffffffff1667ffffffffffffffff86166117cd565b6fffffffffffffffffffffffffffffffff1690506000610b0a48633b9aca00610ee9565b610b1490836115d2565b905060005a610b2390866115e6565b9050808211156107d4576107d4610b3a82846115e6565b610f00565b6000670de0b6b3a7640000610b80610b57858361156a565b610b6990670de0b6b3a76400006115fd565b610b7b85670de0b6b3a7640000611671565b610f2e565b610b8a9086611671565b610b94919061156a565b949350505050565b6000610b94610bab8585610f5f565b83610f6f565b600081831115610c43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e00006064820152608401610ab1565b828410158015610c535750818411155b15610c5f575082610847565b6000610c6b84846115e6565b610c76906001611805565b905060038511158015610c8857508481115b15610c9f57610c978585611805565b915050610847565b610cca60037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6115e6565b8510158015610d015750610cfe857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6115e6565b81115b15610d3a57610d30857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6115e6565b610c9790846115e6565b82851115610d90576000610d4e84876115e6565b90506000610d5c838361181d565b905080600003610d7157849350505050610847565b6001610d7d8288611805565b610d8791906115e6565b93505050610de1565b83851015610de1576000610da486866115e6565b90506000610db2838361181d565b905080600003610dc757859350505050610847565b610dd181866115e6565b610ddc906001611805565b935050505b509392505050565b60006a636f6e736f6c652e6c6f6773ffffffffffffffffffffffffffffffffffffffff168383604051602401610e20929190611861565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb60e72cc0000000000000000000000000000000000000000000000000000000017905251610ea191906118ba565b600060405180830381855afa9150503d8060008114610edc576040519150601f19603f3d011682016040523d82523d6000602084013e610ee1565b606091505b505050505050565b600081831015610ef95781610847565b5090919050565b6000805a90505b825a610f1390836115e6565b1015610f2957610f22826118d6565b9150610f07565b505050565b6000610847670de0b6b3a764000083610f4686610f7e565b610f509190611671565b610f5a919061156a565b6111c2565b600081831215610ef95781610847565b6000818312610ef95781610847565b6000808213610fe9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f554e444546494e454400000000000000000000000000000000000000000000006044820152606401610ab1565b60006060610ff684611401565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdb731c958f34d94c182136111f357506000919050565b680755bf798b4a1bf1e58212611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4558505f4f564552464c4f5700000000000000000000000000000000000000006044820152606401610ab1565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b600080821161146c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f554e444546494e454400000000000000000000000000000000000000000000006044820152606401610ab1565b5060016fffffffffffffffffffffffffffffffff821160071b82811c67ffffffffffffffff1060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b600080604083850312156114ea57600080fd5b823591506020830135801515811461150157600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000826115795761157961150c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f8000000000000000000000000000000000000000000000000000000000000000831416156115cd576115cd61153b565b500590565b6000826115e1576115e161150c565b500490565b6000828210156115f8576115f861153b565b500390565b6000808312837f8000000000000000000000000000000000000000000000000000000000000000018312811516156116375761163761153b565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01831381161561166b5761166b61153b565b50500390565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000841360008413858304851182821616156116b2576116b261153b565b7f800000000000000000000000000000000000000000000000000000000000000060008712868205881281841616156116ed576116ed61153b565b600087129250878205871284841616156117095761170961153b565b8785058712818416161561171f5761171f61153b565b505050929093029392505050565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038413811516156117675761176761153b565b827f800000000000000000000000000000000000000000000000000000000000000003841281161561179b5761179b61153b565b50500190565b600067ffffffffffffffff8083168185168083038211156117c4576117c461153b565b01949350505050565b60006fffffffffffffffffffffffffffffffff808316818516818304811182151516156117fc576117fc61153b565b02949350505050565b600082198211156118185761181861153b565b500190565b60008261182c5761182c61150c565b500690565b60005b8381101561184c578181015183820152602001611834565b8381111561185b576000848401525b50505050565b6040815260008351806040840152611880816060850160208801611831565b602083019390935250601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601606001919050565b600082516118cc818460208701611831565b9190910192915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119075761190761153b565b506001019056fea164736f6c634300080f000a",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
