{
    "_format": "hh-sol-artifact-1",
    "contractName": "L2GaugeCheckpointer",
    "sourceName": "contracts/gauges/L2GaugeCheckpointer.sol",
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "contract IGaugeAdder",
                    "name": "gaugeAdder",
                    "type": "address"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "enum IGaugeAdder.GaugeType",
                    "name": "gaugeType",
                    "type": "uint8"
                },
                {
                    "indexed": true,
                    "internalType": "contract IStakelessGauge",
                    "name": "gauge",
                    "type": "address"
                }
            ],
            "name": "GaugeAdded",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "enum IGaugeAdder.GaugeType",
                    "name": "gaugeType",
                    "type": "uint8"
                },
                {
                    "indexed": true,
                    "internalType": "contract IStakelessGauge",
                    "name": "gauge",
                    "type": "address"
                }
            ],
            "name": "GaugeRemoved",
            "type": "event"
        },
        {
            "inputs": [
                {
                    "internalType": "enum IGaugeAdder.GaugeType",
                    "name": "gaugeType",
                    "type": "uint8"
                },
                {
                    "internalType": "contract IStakelessGauge[]",
                    "name": "gauges",
                    "type": "address[]"
                }
            ],
            "name": "addGauges",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "minRelativeWeight",
                    "type": "uint256"
                }
            ],
            "name": "checkpointGaugesAboveRelativeWeight",
            "outputs": [],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "enum IGaugeAdder.GaugeType",
                    "name": "gaugeType",
                    "type": "uint8"
                },
                {
                    "internalType": "uint256",
                    "name": "index",
                    "type": "uint256"
                }
            ],
            "name": "getGaugeAt",
            "outputs": [
                {
                    "internalType": "contract IStakelessGauge",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "minRelativeWeight",
                    "type": "uint256"
                }
            ],
            "name": "getTotalBridgeCost",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "enum IGaugeAdder.GaugeType",
                    "name": "gaugeType",
                    "type": "uint8"
                }
            ],
            "name": "getTotalGauges",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "enum IGaugeAdder.GaugeType",
                    "name": "gaugeType",
                    "type": "uint8"
                },
                {
                    "internalType": "contract IStakelessGauge",
                    "name": "gauge",
                    "type": "address"
                }
            ],
            "name": "hasGauge",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "enum IGaugeAdder.GaugeType",
                    "name": "gaugeType",
                    "type": "uint8"
                }
            ],
            "name": "isSupportedGaugeType",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "pure",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "enum IGaugeAdder.GaugeType",
                    "name": "gaugeType",
                    "type": "uint8"
                },
                {
                    "internalType": "contract IStakelessGauge[]",
                    "name": "gauges",
                    "type": "address[]"
                }
            ],
            "name": "removeGauges",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "bytecode": "0x60e060405234801561001057600080fd5b5060405161181a38038061181a8339818101604052602081101561003357600080fd5b505160016000556001600160601b0319606082901b1660c05260408051632c6f4d6f60e11b815290516001600160a01b038316916358de9ade916004808301926020929190829003018186803b15801561008c57600080fd5b505afa1580156100a0573d6000803e3d6000fd5b505050506040513d60208110156100b657600080fd5b505160601b6001600160601b03191660a0526040805163e758d36b60e01b815290516001600160a01b0383169163e758d36b916004808301926020929190829003018186803b15801561010857600080fd5b505afa15801561011c573d6000803e3d6000fd5b505050506040513d602081101561013257600080fd5b50516001600160601b031960609190911b166080525060805160601c60a05160601c60c05160601c6116936101876000398061074052508061037f52806108415280610fd352508061114452506116936000f3fe60806040526004361061007b5760003560e01c80635651e57b1161004e5780635651e57b146101a2578063868a85541461022b578063d14cfe3b14610258578063dfeec67a146102755761007b565b806327f791071461008057806329ff7af3146100bc5780633ccd109a146101185780634cbc19eb14610145575b600080fd5b34801561008c57600080fd5b506100aa600480360360208110156100a357600080fd5b50356102fc565b60408051918252519081900360200190f35b3480156100c857600080fd5b506100ef600480360360408110156100df57600080fd5b5060ff81351690602001356104cf565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561012457600080fd5b506100aa6004803603602081101561013b57600080fd5b503560ff1661056f565b34801561015157600080fd5b5061018e6004803603604081101561016857600080fd5b50803560ff16906020013573ffffffffffffffffffffffffffffffffffffffff166105e6565b604080519115158252519081900360200190f35b3480156101ae57600080fd5b50610229600480360360408110156101c557600080fd5b60ff82351691908101906040810160208201356401000000008111156101ea57600080fd5b8201836020820111156101fc57600080fd5b8035906020019184602083028401116401000000008311171561021e57600080fd5b50909250905061067e565b005b34801561023757600080fd5b5061018e6004803603602081101561024e57600080fd5b503560ff16610a93565b6102296004803603602081101561026e57600080fd5b5035610aa4565b34801561028157600080fd5b506102296004803603604081101561029857600080fd5b60ff82351691908101906040810160208201356401000000008111156102bd57600080fd5b8201836020820111156102cf57600080fd5b803590602001918460208302840111640100000000831117156102f157600080fd5b509092509050610b0b565b60008061030842610d28565b9050600061033360018260045b600781111561032057fe5b8152602001908152602001600020610d34565b6004600090815260016020529091507fedc95719e9a3b28dd8e80877cb5880a9be7de1a13fc8b05e7999683b6b56764390805b838110156104c557600061037a8483610d38565b9050877f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d3078c9483896040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060206040518083038186803b15801561040c57600080fd5b505afa158015610420573d6000803e3d6000fd5b505050506040513d602081101561043657600080fd5b5051101561044457506104bd565b8073ffffffffffffffffffffffffffffffffffffffff1663b02452256040518163ffffffff1660e01b815260040160206040518083038186803b15801561048a57600080fd5b505afa15801561049e573d6000803e3d6000fd5b505050506040513d60208110156104b457600080fd5b50519290920191505b600101610366565b5095945050505050565b6000826104db81610d72565b61052c576040805162461bcd60e51b815260206004820152601660248201527f556e737570706f72746564206761756765207479706500000000000000000000604482015290519081900360640190fd5b610567836001600087600781111561054057fe5b600781111561054b57fe5b8152602001908152602001600020610de090919063ffffffff16565b949350505050565b60008161057b81610d72565b6105cc576040805162461bcd60e51b815260206004820152601660248201527f556e737570706f72746564206761756765207479706500000000000000000000604482015290519081900360640190fd5b6105df6001600085600781111561031557fe5b9392505050565b6000826105f281610d72565b610643576040805162461bcd60e51b815260206004820152601660248201527f556e737570706f72746564206761756765207479706500000000000000000000604482015290519081900360640190fd5b610567836001600087600781111561065757fe5b600781111561066257fe5b8152602001908152602001600020610dfc90919063ffffffff16565b8261068881610d72565b6106d9576040805162461bcd60e51b815260206004820152601660248201527f556e737570706f72746564206761756765207479706500000000000000000000604482015290519081900360640190fd5b6000600160008660078111156106eb57fe5b60078111156106f657fe5b8152602001908152602001600020905060005b83811015610a8b57600085858381811061071f57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1690507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663abfca00982896040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018260078111156107b757fe5b81526020019250505060206040518083038186803b1580156107d857600080fd5b505afa1580156107ec573d6000803e3d6000fd5b505050506040513d602081101561080257600080fd5b505161083f5760405162461bcd60e51b81526004018080602001828103825260288152602001806115be6028913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166361df1bf9826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156108c657600080fd5b505afa1580156108da573d6000803e3d6000fd5b505050506040513d60208110156108f057600080fd5b505161092d5760405162461bcd60e51b815260040180806020018281038252602a8152602001806115e6602a913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16639c868ac06040518163ffffffff1660e01b815260040160206040518083038186803b15801561097357600080fd5b505afa158015610987573d6000803e3d6000fd5b505050506040513d602081101561099d57600080fd5b5051156109f1576040805162461bcd60e51b815260206004820152601060248201527f476175676520776173206b696c6c656400000000000000000000000000000000604482015290519081900360640190fd5b6109fb8382610e2a565b610a365760405162461bcd60e51b81526004018080602001828103825260278152602001806116376027913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16876007811115610a5957fe5b6040517ffedfef14f8635df68d7e77896def7fd9d97f59e4ce9f3ab4bf36dd675d5bb18a90600090a350600101610709565b505050505050565b6000610a9e82610d72565b92915050565b610aac610eb2565b6000610ab742610d28565b9050610ac560038383610ecb565b610ad160048383610ecb565b610add60058383610ecb565b610ae960068383610ecb565b610af560078383610ecb565b610aff3347611305565b50610b08611381565b50565b82610b1581610d72565b610b66576040805162461bcd60e51b815260206004820152601660248201527f556e737570706f72746564206761756765207479706500000000000000000000604482015290519081900360640190fd5b600060016000866007811115610b7857fe5b6007811115610b8357fe5b8152602001908152602001600020905060005b83811015610a8b576000858583818110610bac57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16639c868ac06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1157600080fd5b505afa158015610c25573d6000803e3d6000fd5b505050506040513d6020811015610c3b57600080fd5b5051610c8e576040805162461bcd60e51b815260206004820152601460248201527f476175676520776173206e6f74206b696c6c6564000000000000000000000000604482015290519081900360640190fd5b610c988382611388565b610cd35760405162461bcd60e51b81526004018080602001828103825260278152602001806116106027913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16876007811115610cf657fe5b6040517f943ca3b99ef2afb6719e95a54c381dffb151e06a19731bbfaa5664f562ccab7990600090a350600101610b96565b62093a80908190040290565b5490565b6000826000018281548110610d4957fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff169392505050565b60006003826007811115610d8257fe5b1480610d9957506004826007811115610d9757fe5b145b80610daf57506005826007811115610dad57fe5b145b80610dc557506006826007811115610dc357fe5b145b80610a9e57506007826007811115610dd957fe5b1492915050565b8154600090610df29083106064611536565b6105df8383610d38565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001919091016020526040902054151590565b6000610e368383610dfc565b610eaa57508154600180820184556000848152602080822090930180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861690811790915585549082528286019093526040902091909155610a9e565b506000610a9e565b610ec460026000541415610190611536565b6002600055565b6000610ee06001600086600781111561031557fe5b905080610eed5750611300565b600060016000866007811115610eff57fe5b6007811115610f0a57fe5b81526020810191909152604001600090812091506004866007811115610f2c57fe5b14610f38576000610fb5565b610f43826000610d38565b73ffffffffffffffffffffffffffffffffffffffff1663b02452256040518163ffffffff1660e01b815260040160206040518083038186803b158015610f8857600080fd5b505afa158015610f9c573d6000803e3d6000fd5b505050506040513d6020811015610fb257600080fd5b50515b905060005b838110156112fb576000610fce8483610d38565b9050867f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d3078c9483896040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060206040518083038186803b15801561106057600080fd5b505afa158015611074573d6000803e3d6000fd5b505050506040513d602081101561108a57600080fd5b5051101561109857506112f3565b604080516004808252602480830184526020830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc2c4c5c10000000000000000000000000000000000000000000000000000000017815284517f4036176a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781169482019485529281019586528451604482015284517f00000000000000000000000000000000000000000000000000000000000000009390931695634036176a958a958995919490936064019180838360005b83811015611198578181015183820152602001611180565b50505050905090810190601f1680156111c55780820380516001836020036101000a031916815260200191505b5093505050506000604051808303818588803b1580156111e457600080fd5b505af11580156111f8573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052602081101561124057600080fd5b810190808051604051939291908464010000000082111561126057600080fd5b90830190602082018581111561127557600080fd5b825164010000000081118282018810171561128f57600080fd5b82525081516020918201929091019080838360005b838110156112bc5781810151838201526020016112a4565b50505050905090810190601f1680156112e95780820380516001836020036101000a031916815260200191505b5060405250505050505b600101610fba565b505050505b505050565b611314814710156101a3611536565b60405160009073ffffffffffffffffffffffffffffffffffffffff84169083908381818185875af1925050503d806000811461136c576040519150601f19603f3d011682016040523d82523d6000602084013e611371565b606091505b50509050611300816101a4611536565b6001600055565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600183016020526040812054801561152c5783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80830191018082146114915760008660000182815481106113f657fe5b600091825260209091200154875473ffffffffffffffffffffffffffffffffffffffff9091169150819088908590811061142c57fe5b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff94851617905592909116815260018881019092526040902090830190555b855486908061149c57fe5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff87168252600188810190915260408220919091559350610a9e92505050565b6000915050610a9e565b816115445761154481611548565b5050565b62461bcd60e51b600090815260206004526007602452600a808304818106603090810160081b83860601918390049283060160101b016642414c230000300160c81b604452610b08917f42414c0000000000000000000000000000000000000000000000000000000000906242414c90606490fdfe476175676520646f6573206e6f7420636f6d652066726f6d20612076616c696420666163746f7279476175676520776173206e6f7420616464656420746f20746865204761756765436f6e74726f6c6c6572476175676520776173206e6f7420616464656420746f2074686520636865636b706f696e746572476175676520616c726561647920616464656420746f2074686520636865636b706f696e746572a26469706673582212202d8cd34525496978e4ca056d40dc9cab72e2d99c5c881b2c927ae917b4d2b6bf64736f6c63430007010033",
    "deployedBytecode": "0x60806040526004361061007b5760003560e01c80635651e57b1161004e5780635651e57b146101a2578063868a85541461022b578063d14cfe3b14610258578063dfeec67a146102755761007b565b806327f791071461008057806329ff7af3146100bc5780633ccd109a146101185780634cbc19eb14610145575b600080fd5b34801561008c57600080fd5b506100aa600480360360208110156100a357600080fd5b50356102fc565b60408051918252519081900360200190f35b3480156100c857600080fd5b506100ef600480360360408110156100df57600080fd5b5060ff81351690602001356104cf565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561012457600080fd5b506100aa6004803603602081101561013b57600080fd5b503560ff1661056f565b34801561015157600080fd5b5061018e6004803603604081101561016857600080fd5b50803560ff16906020013573ffffffffffffffffffffffffffffffffffffffff166105e6565b604080519115158252519081900360200190f35b3480156101ae57600080fd5b50610229600480360360408110156101c557600080fd5b60ff82351691908101906040810160208201356401000000008111156101ea57600080fd5b8201836020820111156101fc57600080fd5b8035906020019184602083028401116401000000008311171561021e57600080fd5b50909250905061067e565b005b34801561023757600080fd5b5061018e6004803603602081101561024e57600080fd5b503560ff16610a93565b6102296004803603602081101561026e57600080fd5b5035610aa4565b34801561028157600080fd5b506102296004803603604081101561029857600080fd5b60ff82351691908101906040810160208201356401000000008111156102bd57600080fd5b8201836020820111156102cf57600080fd5b803590602001918460208302840111640100000000831117156102f157600080fd5b509092509050610b0b565b60008061030842610d28565b9050600061033360018260045b600781111561032057fe5b8152602001908152602001600020610d34565b6004600090815260016020529091507fedc95719e9a3b28dd8e80877cb5880a9be7de1a13fc8b05e7999683b6b56764390805b838110156104c557600061037a8483610d38565b9050877f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d3078c9483896040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060206040518083038186803b15801561040c57600080fd5b505afa158015610420573d6000803e3d6000fd5b505050506040513d602081101561043657600080fd5b5051101561044457506104bd565b8073ffffffffffffffffffffffffffffffffffffffff1663b02452256040518163ffffffff1660e01b815260040160206040518083038186803b15801561048a57600080fd5b505afa15801561049e573d6000803e3d6000fd5b505050506040513d60208110156104b457600080fd5b50519290920191505b600101610366565b5095945050505050565b6000826104db81610d72565b61052c576040805162461bcd60e51b815260206004820152601660248201527f556e737570706f72746564206761756765207479706500000000000000000000604482015290519081900360640190fd5b610567836001600087600781111561054057fe5b600781111561054b57fe5b8152602001908152602001600020610de090919063ffffffff16565b949350505050565b60008161057b81610d72565b6105cc576040805162461bcd60e51b815260206004820152601660248201527f556e737570706f72746564206761756765207479706500000000000000000000604482015290519081900360640190fd5b6105df6001600085600781111561031557fe5b9392505050565b6000826105f281610d72565b610643576040805162461bcd60e51b815260206004820152601660248201527f556e737570706f72746564206761756765207479706500000000000000000000604482015290519081900360640190fd5b610567836001600087600781111561065757fe5b600781111561066257fe5b8152602001908152602001600020610dfc90919063ffffffff16565b8261068881610d72565b6106d9576040805162461bcd60e51b815260206004820152601660248201527f556e737570706f72746564206761756765207479706500000000000000000000604482015290519081900360640190fd5b6000600160008660078111156106eb57fe5b60078111156106f657fe5b8152602001908152602001600020905060005b83811015610a8b57600085858381811061071f57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1690507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663abfca00982896040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018260078111156107b757fe5b81526020019250505060206040518083038186803b1580156107d857600080fd5b505afa1580156107ec573d6000803e3d6000fd5b505050506040513d602081101561080257600080fd5b505161083f5760405162461bcd60e51b81526004018080602001828103825260288152602001806115be6028913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166361df1bf9826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156108c657600080fd5b505afa1580156108da573d6000803e3d6000fd5b505050506040513d60208110156108f057600080fd5b505161092d5760405162461bcd60e51b815260040180806020018281038252602a8152602001806115e6602a913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16639c868ac06040518163ffffffff1660e01b815260040160206040518083038186803b15801561097357600080fd5b505afa158015610987573d6000803e3d6000fd5b505050506040513d602081101561099d57600080fd5b5051156109f1576040805162461bcd60e51b815260206004820152601060248201527f476175676520776173206b696c6c656400000000000000000000000000000000604482015290519081900360640190fd5b6109fb8382610e2a565b610a365760405162461bcd60e51b81526004018080602001828103825260278152602001806116376027913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16876007811115610a5957fe5b6040517ffedfef14f8635df68d7e77896def7fd9d97f59e4ce9f3ab4bf36dd675d5bb18a90600090a350600101610709565b505050505050565b6000610a9e82610d72565b92915050565b610aac610eb2565b6000610ab742610d28565b9050610ac560038383610ecb565b610ad160048383610ecb565b610add60058383610ecb565b610ae960068383610ecb565b610af560078383610ecb565b610aff3347611305565b50610b08611381565b50565b82610b1581610d72565b610b66576040805162461bcd60e51b815260206004820152601660248201527f556e737570706f72746564206761756765207479706500000000000000000000604482015290519081900360640190fd5b600060016000866007811115610b7857fe5b6007811115610b8357fe5b8152602001908152602001600020905060005b83811015610a8b576000858583818110610bac57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16639c868ac06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1157600080fd5b505afa158015610c25573d6000803e3d6000fd5b505050506040513d6020811015610c3b57600080fd5b5051610c8e576040805162461bcd60e51b815260206004820152601460248201527f476175676520776173206e6f74206b696c6c6564000000000000000000000000604482015290519081900360640190fd5b610c988382611388565b610cd35760405162461bcd60e51b81526004018080602001828103825260278152602001806116106027913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16876007811115610cf657fe5b6040517f943ca3b99ef2afb6719e95a54c381dffb151e06a19731bbfaa5664f562ccab7990600090a350600101610b96565b62093a80908190040290565b5490565b6000826000018281548110610d4957fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff169392505050565b60006003826007811115610d8257fe5b1480610d9957506004826007811115610d9757fe5b145b80610daf57506005826007811115610dad57fe5b145b80610dc557506006826007811115610dc357fe5b145b80610a9e57506007826007811115610dd957fe5b1492915050565b8154600090610df29083106064611536565b6105df8383610d38565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001919091016020526040902054151590565b6000610e368383610dfc565b610eaa57508154600180820184556000848152602080822090930180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861690811790915585549082528286019093526040902091909155610a9e565b506000610a9e565b610ec460026000541415610190611536565b6002600055565b6000610ee06001600086600781111561031557fe5b905080610eed5750611300565b600060016000866007811115610eff57fe5b6007811115610f0a57fe5b81526020810191909152604001600090812091506004866007811115610f2c57fe5b14610f38576000610fb5565b610f43826000610d38565b73ffffffffffffffffffffffffffffffffffffffff1663b02452256040518163ffffffff1660e01b815260040160206040518083038186803b158015610f8857600080fd5b505afa158015610f9c573d6000803e3d6000fd5b505050506040513d6020811015610fb257600080fd5b50515b905060005b838110156112fb576000610fce8483610d38565b9050867f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d3078c9483896040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060206040518083038186803b15801561106057600080fd5b505afa158015611074573d6000803e3d6000fd5b505050506040513d602081101561108a57600080fd5b5051101561109857506112f3565b604080516004808252602480830184526020830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc2c4c5c10000000000000000000000000000000000000000000000000000000017815284517f4036176a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781169482019485529281019586528451604482015284517f00000000000000000000000000000000000000000000000000000000000000009390931695634036176a958a958995919490936064019180838360005b83811015611198578181015183820152602001611180565b50505050905090810190601f1680156111c55780820380516001836020036101000a031916815260200191505b5093505050506000604051808303818588803b1580156111e457600080fd5b505af11580156111f8573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052602081101561124057600080fd5b810190808051604051939291908464010000000082111561126057600080fd5b90830190602082018581111561127557600080fd5b825164010000000081118282018810171561128f57600080fd5b82525081516020918201929091019080838360005b838110156112bc5781810151838201526020016112a4565b50505050905090810190601f1680156112e95780820380516001836020036101000a031916815260200191505b5060405250505050505b600101610fba565b505050505b505050565b611314814710156101a3611536565b60405160009073ffffffffffffffffffffffffffffffffffffffff84169083908381818185875af1925050503d806000811461136c576040519150601f19603f3d011682016040523d82523d6000602084013e611371565b606091505b50509050611300816101a4611536565b6001600055565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600183016020526040812054801561152c5783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80830191018082146114915760008660000182815481106113f657fe5b600091825260209091200154875473ffffffffffffffffffffffffffffffffffffffff9091169150819088908590811061142c57fe5b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff94851617905592909116815260018881019092526040902090830190555b855486908061149c57fe5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff87168252600188810190915260408220919091559350610a9e92505050565b6000915050610a9e565b816115445761154481611548565b5050565b62461bcd60e51b600090815260206004526007602452600a808304818106603090810160081b83860601918390049283060160101b016642414c230000300160c81b604452610b08917f42414c0000000000000000000000000000000000000000000000000000000000906242414c90606490fdfe476175676520646f6573206e6f7420636f6d652066726f6d20612076616c696420666163746f7279476175676520776173206e6f7420616464656420746f20746865204761756765436f6e74726f6c6c6572476175676520776173206e6f7420616464656420746f2074686520636865636b706f696e746572476175676520616c726561647920616464656420746f2074686520636865636b706f696e746572a26469706673582212202d8cd34525496978e4ca056d40dc9cab72e2d99c5c881b2c927ae917b4d2b6bf64736f6c63430007010033",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
