{
    "_format": "hh-sol-artifact-1",
    "contractName": "MarginPool",
    "sourceName": "contracts/core/MarginPool.sol",
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_addressBook",
                    "type": "address"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "asset",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "receiver",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "AssetFarmed",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "oldAddress",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "newAddress",
                    "type": "address"
                }
            ],
            "name": "FarmerUpdated",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "previousOwner",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "OwnershipTransferred",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "asset",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "user",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "TransferToPool",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "asset",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "user",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "TransferToUser",
            "type": "event"
        },
        {
            "inputs": [],
            "name": "addressBook",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address[]",
                    "name": "_asset",
                    "type": "address[]"
                },
                {
                    "internalType": "address[]",
                    "name": "_user",
                    "type": "address[]"
                },
                {
                    "internalType": "uint256[]",
                    "name": "_amount",
                    "type": "uint256[]"
                }
            ],
            "name": "batchTransferToPool",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address[]",
                    "name": "_asset",
                    "type": "address[]"
                },
                {
                    "internalType": "address[]",
                    "name": "_user",
                    "type": "address[]"
                },
                {
                    "internalType": "uint256[]",
                    "name": "_amount",
                    "type": "uint256[]"
                }
            ],
            "name": "batchTransferToUser",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_asset",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_receiver",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "_amount",
                    "type": "uint256"
                }
            ],
            "name": "farm",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "farmer",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_asset",
                    "type": "address"
                }
            ],
            "name": "getStoredBalance",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "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": "address",
                    "name": "_farmer",
                    "type": "address"
                }
            ],
            "name": "setFarmer",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "transferOwnership",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_asset",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_user",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "_amount",
                    "type": "uint256"
                }
            ],
            "name": "transferToPool",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_asset",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_user",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "_amount",
                    "type": "uint256"
                }
            ],
            "name": "transferToUser",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "bytecode": "0x608060405234801561001057600080fd5b5060405161130c38038061130c83398101604081905261002f91610107565b610038336100b7565b6001600160a01b0381166100925760405162461bcd60e51b815260206004820152601460248201527f496e76616c6964206164647265737320626f6f6b000000000000000000000000604482015260640160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055610135565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610118578081fd5b81516001600160a01b038116811461012e578182fd5b9392505050565b6111c8806101446000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063d811fcf011610071578063d811fcf01461015d578063dd2c99f714610170578063e2ed781c14610183578063f2fde38b14610196578063f5887cdd146101a9578063fa93b2a5146101bc576100b4565b80634979cd14146100b9578063715018a6146100ce57806386a19c5e146100d65780638da5cb5b146100e9578063baf46ba614610113578063c595b00714610126575b600080fd5b6100cc6100c7366004610f26565b6101cf565b005b6100cc6103b6565b6100cc6100e4366004610f26565b6103ec565b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc610121366004610ee6565b6105c4565b61014f610134366004610eae565b6001600160a01b031660009081526003602052604090205490565b60405190815260200161010a565b6002546100f6906001600160a01b031681565b6100cc61017e366004610ee6565b610857565b6100cc610191366004610eae565b610a86565b6100cc6101a4366004610eae565b610b0c565b6001546100f6906001600160a01b031681565b6100cc6101ca366004610ee6565b610ba7565b600160009054906101000a90046001600160a01b03166001600160a01b0316633018205f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561021d57600080fd5b505afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102559190610eca565b6001600160a01b0316336001600160a01b03161461028e5760405162461bcd60e51b815260040161028590611039565b60405180910390fd5b815183511480156102a0575080518251145b6103125760405162461bcd60e51b815260206004820152603b60248201527f4d617267696e506f6f6c3a2062617463685472616e73666572546f506f6f6c2060448201527f6172726179206c656e6774687320617265206e6f7420657175616c00000000006064820152608401610285565b60005b83518110156103b05761039e84828151811061034157634e487b7160e01b600052603260045260246000fd5b602002602001015184838151811061036957634e487b7160e01b600052603260045260246000fd5b602002602001015184848151811061039157634e487b7160e01b600052603260045260246000fd5b6020026020010151610857565b806103a881611136565b915050610315565b50505050565b6000546001600160a01b031633146103e05760405162461bcd60e51b81526004016102859061107d565b6103ea6000610dca565b565b600160009054906101000a90046001600160a01b03166001600160a01b0316633018205f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561043a57600080fd5b505afa15801561044e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104729190610eca565b6001600160a01b0316336001600160a01b0316146104a25760405162461bcd60e51b815260040161028590611039565b815183511480156104b4575080518251145b6105265760405162461bcd60e51b815260206004820152603b60248201527f4d617267696e506f6f6c3a2062617463685472616e73666572546f557365722060448201527f6172726179206c656e6774687320617265206e6f7420657175616c00000000006064820152608401610285565b60005b83518110156103b0576105b284828151811061055557634e487b7160e01b600052603260045260246000fd5b602002602001015184838151811061057d57634e487b7160e01b600052603260045260246000fd5b60200260200101518484815181106105a557634e487b7160e01b600052603260045260246000fd5b6020026020010151610ba7565b806105bc81611136565b915050610529565b6002546001600160a01b0316331461061e5760405162461bcd60e51b815260206004820181905260248201527f4d617267696e506f6f6c3a2053656e646572206973206e6f74206661726d65726044820152606401610285565b6001600160a01b0382166106805760405162461bcd60e51b8152602060048201526024808201527f4d617267696e506f6f6c3a20696e76616c6964207265636569766572206164646044820152637265737360e01b6064820152608401610285565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b1580156106c257600080fd5b505afa1580156106d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa9190611021565b6001600160a01b0385166000908152600360205260409020549091506107208282610e1a565b8311156107805760405162461bcd60e51b815260206004820152602860248201527f4d617267696e506f6f6c3a20616d6f756e7420746f206661726d206578636565604482015267191cc81b1a5b5a5d60c21b6064820152608401610285565b60405163a9059cbb60e01b81526001600160a01b0385811660048301526024820185905286169063a9059cbb90604401602060405180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108029190611001565b50836001600160a01b0316856001600160a01b03167f2bfce9f5efc2d7cd579270748ddf9d23bc6c0af5193a2759314c2300af9956b18560405161084891815260200190565b60405180910390a35050505050565b600160009054906101000a90046001600160a01b03166001600160a01b0316633018205f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a557600080fd5b505afa1580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd9190610eca565b6001600160a01b0316336001600160a01b03161461090d5760405162461bcd60e51b815260040161028590611039565b600081116109755760405162461bcd60e51b815260206004820152602f60248201527f4d617267696e506f6f6c3a207472616e73666572546f506f6f6c20616d6f756e60448201526e07420697320657175616c20746f203608c1b6064820152608401610285565b6001600160a01b0383166000908152600360205260409020546109989082610e2d565b6001600160a01b03848116600081815260036020526040908190209390935591516323b872dd60e01b81529084166004820152306024820152604481018390526323b872dd90606401602060405180830381600087803b1580156109fb57600080fd5b505af1158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a339190611001565b50816001600160a01b0316836001600160a01b03167f9b4f8cdd00ca1dad21e1b00707351fe747dd74738cf95f60f66518c52c35e64583604051610a7991815260200190565b60405180910390a3505050565b6000546001600160a01b03163314610ab05760405162461bcd60e51b81526004016102859061107d565b6002546040516001600160a01b038084169216907fec2062989428d4fc69d3ba2664807361f4647daf215450588331bbe51efb6a6890600090a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b365760405162461bcd60e51b81526004016102859061107d565b6001600160a01b038116610b9b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610285565b610ba481610dca565b50565b600160009054906101000a90046001600160a01b03166001600160a01b0316633018205f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf557600080fd5b505afa158015610c09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2d9190610eca565b6001600160a01b0316336001600160a01b031614610c5d5760405162461bcd60e51b815260040161028590611039565b6001600160a01b038216301415610ccc5760405162461bcd60e51b815260206004820152602d60248201527f4d617267696e506f6f6c3a2063616e6e6f74207472616e73666572206173736560448201526c3a39903a379037b732b9b2b63360991b6064820152608401610285565b6001600160a01b038316600090815260036020526040902054610cef9082610e1a565b6001600160a01b038481166000818152600360205260409081902093909355915163a9059cbb60e01b815290841660048201526024810183905263a9059cbb90604401602060405180830381600087803b158015610d4c57600080fd5b505af1158015610d60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d849190611001565b50816001600160a01b0316836001600160a01b03167f2d6ff46a316ec627f7677daafa6ad7d6f36bcf938c5f47bf6e671b09d27b415f83604051610a7991815260200190565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610e26828461111f565b9392505050565b6000610e268284611107565b600082601f830112610e49578081fd5b81356020610e5e610e59836110e3565b6110b2565b8281528181019085830183850287018401881015610e7a578586fd5b855b85811015610ea1578135610e8f8161117d565b84529284019290840190600101610e7c565b5090979650505050505050565b600060208284031215610ebf578081fd5b8135610e268161117d565b600060208284031215610edb578081fd5b8151610e268161117d565b600080600060608486031215610efa578182fd5b8335610f058161117d565b92506020840135610f158161117d565b929592945050506040919091013590565b600080600060608486031215610f3a578283fd5b833567ffffffffffffffff80821115610f51578485fd5b610f5d87838801610e39565b9450602091508186013581811115610f73578485fd5b610f7f88828901610e39565b945050604086013581811115610f93578384fd5b86019050601f81018713610fa5578283fd5b8035610fb3610e59826110e3565b81815283810190838501858402850186018b1015610fcf578687fd5b8694505b83851015610ff1578035835260019490940193918501918501610fd3565b5080955050505050509250925092565b600060208284031215611012578081fd5b81518015158114610e26578182fd5b600060208284031215611032578081fd5b5051919050565b60208082526024908201527f4d617267696e506f6f6c3a2053656e646572206973206e6f7420436f6e74726f604082015263363632b960e11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b604051601f8201601f1916810167ffffffffffffffff811182821017156110db576110db611167565b604052919050565b600067ffffffffffffffff8211156110fd576110fd611167565b5060209081020190565b6000821982111561111a5761111a611151565b500190565b60008282101561113157611131611151565b500390565b600060001982141561114a5761114a611151565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610ba457600080fdfea2646970667358221220b080235ef17dc235af0a7c9d9d9ea9cdff670b798131eaf4173940b0951afacb64736f6c63430008020033",
    "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063d811fcf011610071578063d811fcf01461015d578063dd2c99f714610170578063e2ed781c14610183578063f2fde38b14610196578063f5887cdd146101a9578063fa93b2a5146101bc576100b4565b80634979cd14146100b9578063715018a6146100ce57806386a19c5e146100d65780638da5cb5b146100e9578063baf46ba614610113578063c595b00714610126575b600080fd5b6100cc6100c7366004610f26565b6101cf565b005b6100cc6103b6565b6100cc6100e4366004610f26565b6103ec565b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc610121366004610ee6565b6105c4565b61014f610134366004610eae565b6001600160a01b031660009081526003602052604090205490565b60405190815260200161010a565b6002546100f6906001600160a01b031681565b6100cc61017e366004610ee6565b610857565b6100cc610191366004610eae565b610a86565b6100cc6101a4366004610eae565b610b0c565b6001546100f6906001600160a01b031681565b6100cc6101ca366004610ee6565b610ba7565b600160009054906101000a90046001600160a01b03166001600160a01b0316633018205f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561021d57600080fd5b505afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102559190610eca565b6001600160a01b0316336001600160a01b03161461028e5760405162461bcd60e51b815260040161028590611039565b60405180910390fd5b815183511480156102a0575080518251145b6103125760405162461bcd60e51b815260206004820152603b60248201527f4d617267696e506f6f6c3a2062617463685472616e73666572546f506f6f6c2060448201527f6172726179206c656e6774687320617265206e6f7420657175616c00000000006064820152608401610285565b60005b83518110156103b05761039e84828151811061034157634e487b7160e01b600052603260045260246000fd5b602002602001015184838151811061036957634e487b7160e01b600052603260045260246000fd5b602002602001015184848151811061039157634e487b7160e01b600052603260045260246000fd5b6020026020010151610857565b806103a881611136565b915050610315565b50505050565b6000546001600160a01b031633146103e05760405162461bcd60e51b81526004016102859061107d565b6103ea6000610dca565b565b600160009054906101000a90046001600160a01b03166001600160a01b0316633018205f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561043a57600080fd5b505afa15801561044e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104729190610eca565b6001600160a01b0316336001600160a01b0316146104a25760405162461bcd60e51b815260040161028590611039565b815183511480156104b4575080518251145b6105265760405162461bcd60e51b815260206004820152603b60248201527f4d617267696e506f6f6c3a2062617463685472616e73666572546f557365722060448201527f6172726179206c656e6774687320617265206e6f7420657175616c00000000006064820152608401610285565b60005b83518110156103b0576105b284828151811061055557634e487b7160e01b600052603260045260246000fd5b602002602001015184838151811061057d57634e487b7160e01b600052603260045260246000fd5b60200260200101518484815181106105a557634e487b7160e01b600052603260045260246000fd5b6020026020010151610ba7565b806105bc81611136565b915050610529565b6002546001600160a01b0316331461061e5760405162461bcd60e51b815260206004820181905260248201527f4d617267696e506f6f6c3a2053656e646572206973206e6f74206661726d65726044820152606401610285565b6001600160a01b0382166106805760405162461bcd60e51b8152602060048201526024808201527f4d617267696e506f6f6c3a20696e76616c6964207265636569766572206164646044820152637265737360e01b6064820152608401610285565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b1580156106c257600080fd5b505afa1580156106d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa9190611021565b6001600160a01b0385166000908152600360205260409020549091506107208282610e1a565b8311156107805760405162461bcd60e51b815260206004820152602860248201527f4d617267696e506f6f6c3a20616d6f756e7420746f206661726d206578636565604482015267191cc81b1a5b5a5d60c21b6064820152608401610285565b60405163a9059cbb60e01b81526001600160a01b0385811660048301526024820185905286169063a9059cbb90604401602060405180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108029190611001565b50836001600160a01b0316856001600160a01b03167f2bfce9f5efc2d7cd579270748ddf9d23bc6c0af5193a2759314c2300af9956b18560405161084891815260200190565b60405180910390a35050505050565b600160009054906101000a90046001600160a01b03166001600160a01b0316633018205f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a557600080fd5b505afa1580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd9190610eca565b6001600160a01b0316336001600160a01b03161461090d5760405162461bcd60e51b815260040161028590611039565b600081116109755760405162461bcd60e51b815260206004820152602f60248201527f4d617267696e506f6f6c3a207472616e73666572546f506f6f6c20616d6f756e60448201526e07420697320657175616c20746f203608c1b6064820152608401610285565b6001600160a01b0383166000908152600360205260409020546109989082610e2d565b6001600160a01b03848116600081815260036020526040908190209390935591516323b872dd60e01b81529084166004820152306024820152604481018390526323b872dd90606401602060405180830381600087803b1580156109fb57600080fd5b505af1158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a339190611001565b50816001600160a01b0316836001600160a01b03167f9b4f8cdd00ca1dad21e1b00707351fe747dd74738cf95f60f66518c52c35e64583604051610a7991815260200190565b60405180910390a3505050565b6000546001600160a01b03163314610ab05760405162461bcd60e51b81526004016102859061107d565b6002546040516001600160a01b038084169216907fec2062989428d4fc69d3ba2664807361f4647daf215450588331bbe51efb6a6890600090a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b365760405162461bcd60e51b81526004016102859061107d565b6001600160a01b038116610b9b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610285565b610ba481610dca565b50565b600160009054906101000a90046001600160a01b03166001600160a01b0316633018205f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf557600080fd5b505afa158015610c09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2d9190610eca565b6001600160a01b0316336001600160a01b031614610c5d5760405162461bcd60e51b815260040161028590611039565b6001600160a01b038216301415610ccc5760405162461bcd60e51b815260206004820152602d60248201527f4d617267696e506f6f6c3a2063616e6e6f74207472616e73666572206173736560448201526c3a39903a379037b732b9b2b63360991b6064820152608401610285565b6001600160a01b038316600090815260036020526040902054610cef9082610e1a565b6001600160a01b038481166000818152600360205260409081902093909355915163a9059cbb60e01b815290841660048201526024810183905263a9059cbb90604401602060405180830381600087803b158015610d4c57600080fd5b505af1158015610d60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d849190611001565b50816001600160a01b0316836001600160a01b03167f2d6ff46a316ec627f7677daafa6ad7d6f36bcf938c5f47bf6e671b09d27b415f83604051610a7991815260200190565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610e26828461111f565b9392505050565b6000610e268284611107565b600082601f830112610e49578081fd5b81356020610e5e610e59836110e3565b6110b2565b8281528181019085830183850287018401881015610e7a578586fd5b855b85811015610ea1578135610e8f8161117d565b84529284019290840190600101610e7c565b5090979650505050505050565b600060208284031215610ebf578081fd5b8135610e268161117d565b600060208284031215610edb578081fd5b8151610e268161117d565b600080600060608486031215610efa578182fd5b8335610f058161117d565b92506020840135610f158161117d565b929592945050506040919091013590565b600080600060608486031215610f3a578283fd5b833567ffffffffffffffff80821115610f51578485fd5b610f5d87838801610e39565b9450602091508186013581811115610f73578485fd5b610f7f88828901610e39565b945050604086013581811115610f93578384fd5b86019050601f81018713610fa5578283fd5b8035610fb3610e59826110e3565b81815283810190838501858402850186018b1015610fcf578687fd5b8694505b83851015610ff1578035835260019490940193918501918501610fd3565b5080955050505050509250925092565b600060208284031215611012578081fd5b81518015158114610e26578182fd5b600060208284031215611032578081fd5b5051919050565b60208082526024908201527f4d617267696e506f6f6c3a2053656e646572206973206e6f7420436f6e74726f604082015263363632b960e11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b604051601f8201601f1916810167ffffffffffffffff811182821017156110db576110db611167565b604052919050565b600067ffffffffffffffff8211156110fd576110fd611167565b5060209081020190565b6000821982111561111a5761111a611151565b500190565b60008282101561113157611131611151565b500390565b600060001982141561114a5761114a611151565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610ba457600080fdfea2646970667358221220b080235ef17dc235af0a7c9d9d9ea9cdff670b798131eaf4173940b0951afacb64736f6c63430008020033",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
