{
    "_format": "hh-sol-artifact-1",
    "contractName": "RewardsHelper",
    "sourceName": "contracts/RewardsHelper.sol",
    "abi": [
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "uint8",
                    "name": "version",
                    "type": "uint8"
                }
            ],
            "name": "Initialized",
            "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"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "runner",
                    "type": "address"
                },
                {
                    "internalType": "address[]",
                    "name": "stakers",
                    "type": "address[]"
                }
            ],
            "name": "batchApplyStakeChange",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "delegator",
                    "type": "address"
                },
                {
                    "internalType": "address[]",
                    "name": "runners",
                    "type": "address[]"
                }
            ],
            "name": "batchClaim",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "runner",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "batchSize",
                    "type": "uint256"
                }
            ],
            "name": "batchCollectAndDistributeRewards",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "runner",
                    "type": "address"
                },
                {
                    "internalType": "bytes32[]",
                    "name": "deployments",
                    "type": "bytes32[]"
                }
            ],
            "name": "batchCollectWithPool",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "runner",
                    "type": "address"
                }
            ],
            "name": "getPendingStakers",
            "outputs": [
                {
                    "internalType": "address[]",
                    "name": "",
                    "type": "address[]"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "runner",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "startEra",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "length",
                    "type": "uint256"
                }
            ],
            "name": "getRewardsAddTable",
            "outputs": [
                {
                    "internalType": "uint256[]",
                    "name": "",
                    "type": "uint256[]"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "runner",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "startEra",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "length",
                    "type": "uint256"
                }
            ],
            "name": "getRewardsRemoveTable",
            "outputs": [
                {
                    "internalType": "uint256[]",
                    "name": "",
                    "type": "uint256[]"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "runner",
                    "type": "address"
                }
            ],
            "name": "indexerCatchup",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "contract ISettings",
                    "name": "_settings",
                    "type": "address"
                }
            ],
            "name": "initialize",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "owner",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "renounceOwnership",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "contract ISettings",
                    "name": "_settings",
                    "type": "address"
                }
            ],
            "name": "setSettings",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "settings",
            "outputs": [
                {
                    "internalType": "contract ISettings",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "transferOwnership",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "bytecode": "0x608060405234801561001057600080fd5b50611d95806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063c4d66de811610066578063c4d66de8146101d9578063d0dbe54b146101ec578063e06174e4146101ff578063f2fde38b1461021257600080fd5b80638da5cb5b1461018e5780639a079552146101b3578063a01d3c2c146101c657600080fd5b80635e563101116100c85780635e5631011461012a57806362a1b14814610153578063715018a6146101665780638d3a2e521461016e57600080fd5b8063331367eb146100ef57806348ce52b0146101045780635a22751014610117575b600080fd5b6101026100fd366004611998565b610225565b005b610102610112366004611a4c565b61035e565b610102610125366004611a69565b610b6c565b61013d610138366004611b00565b610d64565b60405161014a9190611b35565b60405180910390f35b610102610161366004611998565b610ef0565b610102611012565b61018161017c366004611a4c565b611026565b60405161014a9190611b79565b6033546001600160a01b03165b6040516001600160a01b03909116815260200161014a565b61013d6101c1366004611b00565b611218565b6101026101d4366004611a4c565b61139a565b6101026101e7366004611a4c565b6113c4565b6101026101fa366004611bba565b6114f6565b60655461019b906001600160a01b031681565b610102610220366004611a4c565b61177c565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e569919061025790600890600401611be6565b602060405180830381865afa158015610274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102989190611c0e565b905060005b825181101561035857816001600160a01b031663f65caaa78483815181106102c7576102c7611c2b565b6020026020010151866040518363ffffffff1660e01b81526004016103029291906001600160a01b0392831681529116602082015260400190565b6020604051808303816000875af1158015610321573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103459190611c41565b508061035081611c70565b91505061029d565b50505050565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e569919061039090600890600401611be6565b602060405180830381865afa1580156103ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d19190611c0e565b60655460405163f4e5699160e01b81529192506000916001600160a01b039091169063f4e569919061040890600a90600401611be6565b602060405180830381865afa158015610425573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104499190611c0e565b60655460405163f4e5699160e01b81529192506000916001600160a01b039091169063f4e569919061048090600590600401611be6565b602060405180830381865afa15801561049d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c19190611c0e565b6001600160a01b0316637d884c746040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105229190611c41565b604051630180cb5d60e21b81526001600160a01b0386811660048301529192506000918516906306032d7490602401606060405180830381865afa15801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190611c89565b60200151604051634f76adb160e01b81526001600160a01b0387811660048301529192508291851690634f76adb190602401602060405180830381865afa1580156105e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106059190611c41565b1015801561061c5750610619600183611ce5565b81105b1561067d576040516363988cb560e11b81526001600160a01b03868116600483015285169063c731196a90602401600060405180830381600087803b15801561066457600080fd5b505af1158015610678573d6000803e3d6000fd5b505050505b604051630695721f60e41b81526001600160a01b0386811660048301526000919085169063695721f090602401602060405180830381865afa1580156106c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106eb9190611c41565b111561085057604051630695721f60e41b81526001600160a01b0386811660048301526000919085169063f20fa887908890600190849063695721f090602401602060405180830381865afa158015610748573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076c9190611c41565b6107769190611ce5565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa1580156107bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e39190611c0e565b604051639ca0e97f60e01b81526001600160a01b038881166004830152808316602483015291925090851690639ca0e97f90604401600060405180830381600087803b15801561083257600080fd5b505af1158015610846573d6000803e3d6000fd5b505050505061067d565b604051630180cb5d60e21b81526001600160a01b0386811660048301528516906306032d7490602401606060405180830381865afa158015610896573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ba9190611c89565b60200151604051634f76adb160e01b81526001600160a01b0387811660048301529192508291851690634f76adb190602401602060405180830381865afa158015610909573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092d9190611c41565b101580156109445750610941600183611ce5565b81105b156109a5576040516363988cb560e11b81526001600160a01b03868116600483015285169063c731196a90602401600060405180830381600087803b15801561098c57600080fd5b505af11580156109a0573d6000803e3d6000fd5b505050505b60405163182560b560e01b81526001600160a01b0386811660048301526000919085169063182560b590602401602060405180830381865afa1580156109ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a139190611c41565b90508015801590610a245750828111155b15610a855760405163d786858f60e01b81526001600160a01b03878116600483015285169063d786858f90602401600060405180830381600087803b158015610a6c57600080fd5b505af1158015610a80573d6000803e3d6000fd5b505050505b610a90600184611ce5565b604051630180cb5d60e21b81526001600160a01b0388811660048301528716906306032d7490602401606060405180830381865afa158015610ad6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afa9190611c89565b602001511015610b64576040516363988cb560e11b81526001600160a01b03878116600483015286169063c731196a90602401600060405180830381600087803b158015610b4757600080fd5b505af1158015610b5b573d6000803e3d6000fd5b50505050610a85565b505050505050565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190610b9e90600990600401611be6565b602060405180830381865afa158015610bbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdf9190611c0e565b905060005b8251811015610c8b57816001600160a01b031663cece6f3d848381518110610c0e57610c0e611c2b565b6020026020010151866040518363ffffffff1660e01b8152600401610c469291909182526001600160a01b0316602082015260400190565b600060405180830381600087803b158015610c6057600080fd5b505af1158015610c74573d6000803e3d6000fd5b505050508080610c8390611c70565b915050610be4565b5060655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190610cbe90600890600401611be6565b602060405180830381865afa158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff9190611c0e565b6040516363988cb560e11b81526001600160a01b0386811660048301529192509082169063c731196a90602401600060405180830381600087803b158015610d4657600080fd5b505af1158015610d5a573d6000803e3d6000fd5b5050505050505050565b60655460405163f4e5699160e01b81526060916000916001600160a01b039091169063f4e5699190610d9b90600890600401611be6565b602060405180830381865afa158015610db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddc9190611c0e565b905060008367ffffffffffffffff811115610df957610df961192d565b604051908082528060200260200182016040528015610e22578160200160208202803683370190505b50905060005b84811015610ee6576001600160a01b03831663e726880c88610e4a8985611cfc565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa158015610e93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb79190611c41565b828281518110610ec957610ec9611c2b565b602090810291909101015280610ede81611c70565b915050610e28565b5095945050505050565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190610f2290600a90600401611be6565b602060405180830381865afa158015610f3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f639190611c0e565b905060005b825181101561035857816001600160a01b0316639ca0e97f85858481518110610f9357610f93611c2b565b60200260200101516040518363ffffffff1660e01b8152600401610fcd9291906001600160a01b0392831681529116602082015260400190565b600060405180830381600087803b158015610fe757600080fd5b505af1158015610ffb573d6000803e3d6000fd5b50505050808061100a90611c70565b915050610f68565b61101a6117f5565b611024600061184f565b565b60655460405163f4e5699160e01b81526060916000916001600160a01b039091169063f4e569919061105d90600a90600401611be6565b602060405180830381865afa15801561107a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109e9190611c0e565b604051630695721f60e41b81526001600160a01b03858116600483015291925060009183169063695721f090602401602060405180830381865afa1580156110ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110e9190611c41565b905060008167ffffffffffffffff81111561112b5761112b61192d565b604051908082528060200260200182016040528015611154578160200160208202803683370190505b50905060005b8281101561120f5760405163f20fa88760e01b81526001600160a01b0387811660048301526024820183905285169063f20fa88790604401602060405180830381865afa1580156111af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d39190611c0e565b8282815181106111e5576111e5611c2b565b6001600160a01b03909216602092830291909101909101528061120781611c70565b91505061115a565b50949350505050565b60655460405163f4e5699160e01b81526060916000916001600160a01b039091169063f4e569919061124f90600890600401611be6565b602060405180830381865afa15801561126c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112909190611c0e565b905060008367ffffffffffffffff8111156112ad576112ad61192d565b6040519080825280602002602001820160405280156112d6578160200160208202803683370190505b50905060005b84811015610ee6576001600160a01b03831663242b39a0886112fe8985611cfc565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa158015611347573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136b9190611c41565b82828151811061137d5761137d611c2b565b60209081029190910101528061139281611c70565b9150506112dc565b6113a26117f5565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff16158080156113e45750600054600160ff909116105b806113fe5750303b1580156113fe575060005460ff166001145b6114665760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611489576000805461ff0019166101001790555b6114916118a1565b606580546001600160a01b0319166001600160a01b03841617905580156114f2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e569919061152890600890600401611be6565b602060405180830381865afa158015611545573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115699190611c0e565b60655460405163f4e5699160e01b81529192506000916001600160a01b039091169063f4e56991906115a090600590600401611be6565b602060405180830381865afa1580156115bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e19190611c0e565b90506000816001600160a01b0316636f853a5d6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611625573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116499190611c41565b604051630180cb5d60e21b81526001600160a01b0387811660048301529192506000916116e0918791600191908816906306032d7490602401606060405180830381865afa15801561169f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c39190611c89565b602001516116d19086611ce5565b6116db9190611ce5565b6118d0565b905060005b81811015611773576040516301e58c1960e61b8152600481018490526001600160a01b0388811660248301528616906379630640906044016020604051808303816000875af115801561173c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117609190611c41565b508061176b81611c70565b9150506116e5565b50505050505050565b6117846117f5565b6001600160a01b0381166117e95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161145d565b6117f28161184f565b50565b6033546001600160a01b031633146110245760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161145d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166118c85760405162461bcd60e51b815260040161145d90611d14565b6110246118e8565b60008183116118df57826118e1565b815b9392505050565b600054610100900460ff1661190f5760405162461bcd60e51b815260040161145d90611d14565b6110243361184f565b6001600160a01b03811681146117f257600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561196c5761196c61192d565b604052919050565b600067ffffffffffffffff82111561198e5761198e61192d565b5060051b60200190565b600080604083850312156119ab57600080fd5b82356119b681611918565b915060208381013567ffffffffffffffff8111156119d357600080fd5b8401601f810186136119e457600080fd5b80356119f76119f282611974565b611943565b81815260059190911b82018301908381019088831115611a1657600080fd5b928401925b82841015611a3d578335611a2e81611918565b82529284019290840190611a1b565b80955050505050509250929050565b600060208284031215611a5e57600080fd5b81356118e181611918565b60008060408385031215611a7c57600080fd5b8235611a8781611918565b915060208381013567ffffffffffffffff811115611aa457600080fd5b8401601f81018613611ab557600080fd5b8035611ac36119f282611974565b81815260059190911b82018301908381019088831115611ae257600080fd5b928401925b82841015611a3d57833582529284019290840190611ae7565b600080600060608486031215611b1557600080fd5b8335611b2081611918565b95602085013595506040909401359392505050565b6020808252825182820181905260009190848201906040850190845b81811015611b6d57835183529284019291840191600101611b51565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015611b6d5783516001600160a01b031683529284019291840191600101611b95565b60008060408385031215611bcd57600080fd5b8235611bd881611918565b946020939093013593505050565b6020810160158310611c0857634e487b7160e01b600052602160045260246000fd5b91905290565b600060208284031215611c2057600080fd5b81516118e181611918565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611c5357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600060018201611c8257611c82611c5a565b5060010190565b600060608284031215611c9b57600080fd5b6040516060810181811067ffffffffffffffff82111715611cbe57611cbe61192d565b80604052508251815260208301516020820152604083015160408201528091505092915050565b600082821015611cf757611cf7611c5a565b500390565b60008219821115611d0f57611d0f611c5a565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212202f36cf24ea59172edefece604fcbf6851ce0f759a5b16403c7e4a7827afbf3e064736f6c634300080f0033",
    "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063c4d66de811610066578063c4d66de8146101d9578063d0dbe54b146101ec578063e06174e4146101ff578063f2fde38b1461021257600080fd5b80638da5cb5b1461018e5780639a079552146101b3578063a01d3c2c146101c657600080fd5b80635e563101116100c85780635e5631011461012a57806362a1b14814610153578063715018a6146101665780638d3a2e521461016e57600080fd5b8063331367eb146100ef57806348ce52b0146101045780635a22751014610117575b600080fd5b6101026100fd366004611998565b610225565b005b610102610112366004611a4c565b61035e565b610102610125366004611a69565b610b6c565b61013d610138366004611b00565b610d64565b60405161014a9190611b35565b60405180910390f35b610102610161366004611998565b610ef0565b610102611012565b61018161017c366004611a4c565b611026565b60405161014a9190611b79565b6033546001600160a01b03165b6040516001600160a01b03909116815260200161014a565b61013d6101c1366004611b00565b611218565b6101026101d4366004611a4c565b61139a565b6101026101e7366004611a4c565b6113c4565b6101026101fa366004611bba565b6114f6565b60655461019b906001600160a01b031681565b610102610220366004611a4c565b61177c565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e569919061025790600890600401611be6565b602060405180830381865afa158015610274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102989190611c0e565b905060005b825181101561035857816001600160a01b031663f65caaa78483815181106102c7576102c7611c2b565b6020026020010151866040518363ffffffff1660e01b81526004016103029291906001600160a01b0392831681529116602082015260400190565b6020604051808303816000875af1158015610321573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103459190611c41565b508061035081611c70565b91505061029d565b50505050565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e569919061039090600890600401611be6565b602060405180830381865afa1580156103ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d19190611c0e565b60655460405163f4e5699160e01b81529192506000916001600160a01b039091169063f4e569919061040890600a90600401611be6565b602060405180830381865afa158015610425573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104499190611c0e565b60655460405163f4e5699160e01b81529192506000916001600160a01b039091169063f4e569919061048090600590600401611be6565b602060405180830381865afa15801561049d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c19190611c0e565b6001600160a01b0316637d884c746040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105229190611c41565b604051630180cb5d60e21b81526001600160a01b0386811660048301529192506000918516906306032d7490602401606060405180830381865afa15801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190611c89565b60200151604051634f76adb160e01b81526001600160a01b0387811660048301529192508291851690634f76adb190602401602060405180830381865afa1580156105e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106059190611c41565b1015801561061c5750610619600183611ce5565b81105b1561067d576040516363988cb560e11b81526001600160a01b03868116600483015285169063c731196a90602401600060405180830381600087803b15801561066457600080fd5b505af1158015610678573d6000803e3d6000fd5b505050505b604051630695721f60e41b81526001600160a01b0386811660048301526000919085169063695721f090602401602060405180830381865afa1580156106c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106eb9190611c41565b111561085057604051630695721f60e41b81526001600160a01b0386811660048301526000919085169063f20fa887908890600190849063695721f090602401602060405180830381865afa158015610748573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076c9190611c41565b6107769190611ce5565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa1580156107bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e39190611c0e565b604051639ca0e97f60e01b81526001600160a01b038881166004830152808316602483015291925090851690639ca0e97f90604401600060405180830381600087803b15801561083257600080fd5b505af1158015610846573d6000803e3d6000fd5b505050505061067d565b604051630180cb5d60e21b81526001600160a01b0386811660048301528516906306032d7490602401606060405180830381865afa158015610896573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ba9190611c89565b60200151604051634f76adb160e01b81526001600160a01b0387811660048301529192508291851690634f76adb190602401602060405180830381865afa158015610909573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092d9190611c41565b101580156109445750610941600183611ce5565b81105b156109a5576040516363988cb560e11b81526001600160a01b03868116600483015285169063c731196a90602401600060405180830381600087803b15801561098c57600080fd5b505af11580156109a0573d6000803e3d6000fd5b505050505b60405163182560b560e01b81526001600160a01b0386811660048301526000919085169063182560b590602401602060405180830381865afa1580156109ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a139190611c41565b90508015801590610a245750828111155b15610a855760405163d786858f60e01b81526001600160a01b03878116600483015285169063d786858f90602401600060405180830381600087803b158015610a6c57600080fd5b505af1158015610a80573d6000803e3d6000fd5b505050505b610a90600184611ce5565b604051630180cb5d60e21b81526001600160a01b0388811660048301528716906306032d7490602401606060405180830381865afa158015610ad6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afa9190611c89565b602001511015610b64576040516363988cb560e11b81526001600160a01b03878116600483015286169063c731196a90602401600060405180830381600087803b158015610b4757600080fd5b505af1158015610b5b573d6000803e3d6000fd5b50505050610a85565b505050505050565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190610b9e90600990600401611be6565b602060405180830381865afa158015610bbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdf9190611c0e565b905060005b8251811015610c8b57816001600160a01b031663cece6f3d848381518110610c0e57610c0e611c2b565b6020026020010151866040518363ffffffff1660e01b8152600401610c469291909182526001600160a01b0316602082015260400190565b600060405180830381600087803b158015610c6057600080fd5b505af1158015610c74573d6000803e3d6000fd5b505050508080610c8390611c70565b915050610be4565b5060655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190610cbe90600890600401611be6565b602060405180830381865afa158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff9190611c0e565b6040516363988cb560e11b81526001600160a01b0386811660048301529192509082169063c731196a90602401600060405180830381600087803b158015610d4657600080fd5b505af1158015610d5a573d6000803e3d6000fd5b5050505050505050565b60655460405163f4e5699160e01b81526060916000916001600160a01b039091169063f4e5699190610d9b90600890600401611be6565b602060405180830381865afa158015610db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddc9190611c0e565b905060008367ffffffffffffffff811115610df957610df961192d565b604051908082528060200260200182016040528015610e22578160200160208202803683370190505b50905060005b84811015610ee6576001600160a01b03831663e726880c88610e4a8985611cfc565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa158015610e93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb79190611c41565b828281518110610ec957610ec9611c2b565b602090810291909101015280610ede81611c70565b915050610e28565b5095945050505050565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190610f2290600a90600401611be6565b602060405180830381865afa158015610f3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f639190611c0e565b905060005b825181101561035857816001600160a01b0316639ca0e97f85858481518110610f9357610f93611c2b565b60200260200101516040518363ffffffff1660e01b8152600401610fcd9291906001600160a01b0392831681529116602082015260400190565b600060405180830381600087803b158015610fe757600080fd5b505af1158015610ffb573d6000803e3d6000fd5b50505050808061100a90611c70565b915050610f68565b61101a6117f5565b611024600061184f565b565b60655460405163f4e5699160e01b81526060916000916001600160a01b039091169063f4e569919061105d90600a90600401611be6565b602060405180830381865afa15801561107a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109e9190611c0e565b604051630695721f60e41b81526001600160a01b03858116600483015291925060009183169063695721f090602401602060405180830381865afa1580156110ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110e9190611c41565b905060008167ffffffffffffffff81111561112b5761112b61192d565b604051908082528060200260200182016040528015611154578160200160208202803683370190505b50905060005b8281101561120f5760405163f20fa88760e01b81526001600160a01b0387811660048301526024820183905285169063f20fa88790604401602060405180830381865afa1580156111af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d39190611c0e565b8282815181106111e5576111e5611c2b565b6001600160a01b03909216602092830291909101909101528061120781611c70565b91505061115a565b50949350505050565b60655460405163f4e5699160e01b81526060916000916001600160a01b039091169063f4e569919061124f90600890600401611be6565b602060405180830381865afa15801561126c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112909190611c0e565b905060008367ffffffffffffffff8111156112ad576112ad61192d565b6040519080825280602002602001820160405280156112d6578160200160208202803683370190505b50905060005b84811015610ee6576001600160a01b03831663242b39a0886112fe8985611cfc565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa158015611347573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136b9190611c41565b82828151811061137d5761137d611c2b565b60209081029190910101528061139281611c70565b9150506112dc565b6113a26117f5565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff16158080156113e45750600054600160ff909116105b806113fe5750303b1580156113fe575060005460ff166001145b6114665760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611489576000805461ff0019166101001790555b6114916118a1565b606580546001600160a01b0319166001600160a01b03841617905580156114f2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e569919061152890600890600401611be6565b602060405180830381865afa158015611545573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115699190611c0e565b60655460405163f4e5699160e01b81529192506000916001600160a01b039091169063f4e56991906115a090600590600401611be6565b602060405180830381865afa1580156115bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e19190611c0e565b90506000816001600160a01b0316636f853a5d6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611625573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116499190611c41565b604051630180cb5d60e21b81526001600160a01b0387811660048301529192506000916116e0918791600191908816906306032d7490602401606060405180830381865afa15801561169f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c39190611c89565b602001516116d19086611ce5565b6116db9190611ce5565b6118d0565b905060005b81811015611773576040516301e58c1960e61b8152600481018490526001600160a01b0388811660248301528616906379630640906044016020604051808303816000875af115801561173c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117609190611c41565b508061176b81611c70565b9150506116e5565b50505050505050565b6117846117f5565b6001600160a01b0381166117e95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161145d565b6117f28161184f565b50565b6033546001600160a01b031633146110245760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161145d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166118c85760405162461bcd60e51b815260040161145d90611d14565b6110246118e8565b60008183116118df57826118e1565b815b9392505050565b600054610100900460ff1661190f5760405162461bcd60e51b815260040161145d90611d14565b6110243361184f565b6001600160a01b03811681146117f257600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561196c5761196c61192d565b604052919050565b600067ffffffffffffffff82111561198e5761198e61192d565b5060051b60200190565b600080604083850312156119ab57600080fd5b82356119b681611918565b915060208381013567ffffffffffffffff8111156119d357600080fd5b8401601f810186136119e457600080fd5b80356119f76119f282611974565b611943565b81815260059190911b82018301908381019088831115611a1657600080fd5b928401925b82841015611a3d578335611a2e81611918565b82529284019290840190611a1b565b80955050505050509250929050565b600060208284031215611a5e57600080fd5b81356118e181611918565b60008060408385031215611a7c57600080fd5b8235611a8781611918565b915060208381013567ffffffffffffffff811115611aa457600080fd5b8401601f81018613611ab557600080fd5b8035611ac36119f282611974565b81815260059190911b82018301908381019088831115611ae257600080fd5b928401925b82841015611a3d57833582529284019290840190611ae7565b600080600060608486031215611b1557600080fd5b8335611b2081611918565b95602085013595506040909401359392505050565b6020808252825182820181905260009190848201906040850190845b81811015611b6d57835183529284019291840191600101611b51565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015611b6d5783516001600160a01b031683529284019291840191600101611b95565b60008060408385031215611bcd57600080fd5b8235611bd881611918565b946020939093013593505050565b6020810160158310611c0857634e487b7160e01b600052602160045260246000fd5b91905290565b600060208284031215611c2057600080fd5b81516118e181611918565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611c5357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600060018201611c8257611c82611c5a565b5060010190565b600060608284031215611c9b57600080fd5b6040516060810181811067ffffffffffffffff82111715611cbe57611cbe61192d565b80604052508251815260208301516020820152604083015160408201528091505092915050565b600082821015611cf757611cf7611c5a565b500390565b60008219821115611d0f57611d0f611c5a565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212202f36cf24ea59172edefece604fcbf6851ce0f759a5b16403c7e4a7827afbf3e064736f6c634300080f0033",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
