{
  "_format": "hh-sol-artifact-1",
  "contractName": "VoteInOrganizationScheme",
  "sourceName": "contracts/universalSchemes/VoteInOrganizationScheme.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_intVoteInterface",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "contract IntVoteInterface",
          "name": "_originalIntVote",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "_originalProposalId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_vote",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "_descriptionHash",
          "type": "string"
        }
      ],
      "name": "NewVoteProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "ProposalDeleted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "int256",
          "name": "_param",
          "type": "int256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "_callReturnValue",
          "type": "bytes"
        }
      ],
      "name": "ProposalExecuted",
      "type": "event"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "_stakingToken",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "balanceOfStakingToken",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "burnReputation",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "int256",
          "name": "_param",
          "type": "int256"
        }
      ],
      "name": "executeProposal",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_voteParams",
          "type": "bytes32"
        },
        {
          "internalType": "contract IntVoteInterface",
          "name": "_intVote",
          "type": "address"
        }
      ],
      "name": "getParametersHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "getTotalReputationSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "mintReputation",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "organizationsProposals",
      "outputs": [
        {
          "internalType": "contract IntVoteInterface",
          "name": "originalIntVote",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "originalProposalId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "vote",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "exist",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "parameters",
      "outputs": [
        {
          "internalType": "contract IntVoteInterface",
          "name": "intVote",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "voteParams",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "proposalsInfo",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "blockNumber",
          "type": "uint256"
        },
        {
          "internalType": "contract Avatar",
          "name": "avatar",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract Avatar",
          "name": "_avatar",
          "type": "address"
        },
        {
          "internalType": "contract IntVoteInterface",
          "name": "_originalIntVote",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_originalProposalId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_vote",
          "type": "uint256"
        },
        {
          "internalType": "string",
          "name": "_descriptionHash",
          "type": "string"
        }
      ],
      "name": "proposeVote",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "reputationOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_voteParams",
          "type": "bytes32"
        },
        {
          "internalType": "contract IntVoteInterface",
          "name": "_intVote",
          "type": "address"
        }
      ],
      "name": "setParameters",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "_stakingToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "stakingTokenTransfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50611c2f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636b8eb4031161008c578063b551c37311610066578063b551c37314610383578063bea75f28146103a0578063d29b5d2f146103dc578063f81f8bf61461040e576100cf565b80636b8eb403146102f45780639588378e146103205780639d4c162d1461034c576100cf565b806302506804146100d457806306e3a9781461011457806319910699146101725780632453732a1461024f57806360bdbb3f1461027b57806368e14dac146102c8575b600080fd5b6100f1600480360360208110156100ea57600080fd5b5035610440565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6101406004803603604081101561012a57600080fd5b506001600160a01b038135169060200135610465565b604080516001600160a01b03909516855260208501939093528383019190915215156060830152519081900360800190f35b61023d600480360360a081101561018857600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359181019060a0810160808201356401000000008111156101c857600080fd5b8201836020820111156101da57600080fd5b803590602001918460018302840111640100000000831117156101fc57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506104a4945050505050565b60408051918252519081900360200190f35b61023d6004803603604081101561026557600080fd5b50803590602001356001600160a01b0316610909565b6102a76004803603604081101561029157600080fd5b506001600160a01b03813516906020013561094b565b604080519283526001600160a01b0390911660208301528051918290030190f35b61023d600480360360408110156102de57600080fd5b50803590602001356001600160a01b0316610975565b61023d6004803603604081101561030a57600080fd5b506001600160a01b0381351690602001356109bb565b61023d6004803603604081101561033657600080fd5b506001600160a01b038135169060200135610a79565b61036f6004803603604081101561036257600080fd5b5080359060200135610d0b565b604080519115158252519081900360200190f35b61023d6004803603602081101561039957600080fd5b503561122a565b61036f600480360360808110156103b657600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356114b2565b61036f600480360360608110156103f257600080fd5b508035906001600160a01b036020820135169060400135611654565b61036f6004803603606081101561042457600080fd5b508035906001600160a01b0360208201351690604001356117ed565b600260205260009081526040902080546001909101546001600160a01b039091169082565b6001602081815260009384526040808520909152918352912080549181015460028201546003909201546001600160a01b039093169290919060ff1684565b60006104ae611b64565b600260006104bb8961194e565b8152602080820192909252604090810160009081208251808401845281546001600160a01b039081168083526001909301549582019590955283516328a15e0f60e11b815284519196509194929384938c1692635142bc1e9260048083019392829003018186803b15801561052f57600080fd5b505afa158015610543573d6000803e3d6000fd5b505050506040513d604081101561055957600080fd5b50805160209091015190925090508087118015906105775750818710155b6105b25760405162461bcd60e51b8152600401808060200182810382526023815260200180611ba36023913960400191505060405180910390fd5b886001600160a01b031663a003651d896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156105f657600080fd5b505afa15801561060a573d6000803e3d6000fd5b505050506040513d602081101561062057600080fd5b50518711156106605760405162461bcd60e51b8152600401808060200182810382526035815260200180611bc66035913960400191505060405180910390fd5b60208085015160408051634439bdaf60e11b81526002600482015260248101929092523360448301526001600160a01b038d811660648401529051600093918716926388737b5e92608480830193919282900301818787803b1580156106c557600080fd5b505af11580156106d9573d6000803e3d6000fd5b505050506040513d60208110156106ef57600080fd5b8101908080519060200190929190505050905060405180608001604052808b6001600160a01b031681526020018a815260200189815260200160011515815250600160008d6001600160a01b03166001600160a01b03168152602001908152602001600020600083815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690831515021790555090505084600001516001600160a01b0316818c6001600160a01b03167f612d055dc0e586b349ae636d1de3fc64fbcf367d8c8c7406bd1823267cfe7e208d8d8d8d60405180856001600160a01b03166001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610868578181015183820152602001610850565b50505050905090810190601f1680156108955780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a46040805180820182524381526001600160a01b039c8d166020808301918252968e166000908152808852838120858252909752919095209451855551600190940180546001600160a01b03191694909b169390931790995550979650505050505050565b6040805160208082018590526bffffffffffffffffffffffff19606085901b168284015282516034818403018152605490920190925280519101205b92915050565b6000602081815292815260408082209093529081522080546001909101546001600160a01b031682565b6000806109828484610909565b60008181526002602052604090206001810186905580546001600160a01b0386166001600160a01b031990911617905591505092915050565b336000908152602081815260408083208484529091528120600101546001600160a01b0316806109ef576000915050610945565b836001600160a01b03166370a08231826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610a4557600080fd5b505afa158015610a59573d6000803e3d6000fd5b505050506040513d6020811015610a6f57600080fd5b5051949350505050565b336000908152602081815260408083208484528252808320600101548151638da5cb5b60e01b8152915185936001600160a01b03909216928392638da5cb5b92600480840193829003018186803b158015610ad357600080fd5b505afa158015610ae7573d6000803e3d6000fd5b505050506040513d6020811015610afd57600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03848116602483015291519190921691639be2faed916044808301926020929190829003018186803b158015610b4f57600080fd5b505afa158015610b63573d6000803e3d6000fd5b505050506040513d6020811015610b7957600080fd5b5051610bc7576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b610bcf611b64565b5033600090815260208181526040808320878452825291829020825180840190935280548352600101546001600160a01b0316908201819052610c16576000935050610d03565b80602001516001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5357600080fd5b505afa158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505181516040805163277166bf60e11b81526001600160a01b038a81166004830152602482019390935290519190921691634ee2cd7e916044808301926020929190829003018186803b158015610cd357600080fd5b505afa158015610ce7573d6000803e3d6000fd5b505050506040513d6020811015610cfd57600080fd5b50519350505b505092915050565b3360009081526020818152604080832085845290915281206001015483906001600160a01b0316610d78576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208784529091529020600101546001600160a01b0316610da5611b7b565b506001600160a01b0380821660009081526001602081815260408084208a855282529283902083516080810185528154909516855291820154908401526002810154918301919091526003015460ff16151560608201819052610e0757600080fd5b6001600160a01b03821660008181526001602081815260408084208b855290915280832080546001600160a01b0319168155918201839055600282018390556003909101805460ff19169055518892917f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe91a3606060008660011415611170576000846001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ec257600080fd5b505afa158015610ed6573d6000803e3d6000fd5b505050506040513d6020811015610eec57600080fd5b81019080805190602001909291905050509050806001600160a01b031663d1b7089a856000015186602001518760400151600030604051602401808581526020018481526020018360ff168152602001826001600160a01b03166001600160a01b0316815260200194505050505060405160208183030381529060405263359afa4960e01b6001600160e01b0319166020820180516001600160e01b0383818316178352505050508860006040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b0316815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015611019578181015183820152602001611001565b50505050905090810190601f1680156110465780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561106857600080fd5b505af115801561107c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156110a557600080fd5b8151602083018051604051929492938301929190846401000000008211156110cc57600080fd5b9083019060208201858111156110e157600080fd5b82516401000000008111828201881017156110fb57600080fd5b82525081516020918201929091019080838360005b83811015611128578181015183820152602001611110565b50505050905090810190601f1680156111555780820380516001836020036101000a031916815260200191505b5060405250505080945081935050508161116e57600080fd5b505b87846001600160a01b03167f7c1ea889aeb873862488f79e0228a2240ec23e80244de201dd45f39f603fc3c489856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156111e15781810151838201526020016111c9565b50505050905090810190601f16801561120e5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001979650505050505050565b336000908152602081815260408083208484528252808320600101548151638da5cb5b60e01b8152915185936001600160a01b03909216928392638da5cb5b92600480840193829003018186803b15801561128457600080fd5b505afa158015611298573d6000803e3d6000fd5b505050506040513d60208110156112ae57600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03848116602483015291519190921691639be2faed916044808301926020929190829003018186803b15801561130057600080fd5b505afa158015611314573d6000803e3d6000fd5b505050506040513d602081101561132a57600080fd5b5051611378576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b611380611b64565b5033600090815260208181526040808320878452825291829020825180840190935280548352600101546001600160a01b03169082018190526113c75760009350506114ab565b80602001516001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561140457600080fd5b505afa158015611418573d6000803e3d6000fd5b505050506040513d602081101561142e57600080fd5b5051815160408051630981b24d60e41b81526004810192909252516001600160a01b039092169163981b24d091602480820192602092909190829003018186803b15801561147b57600080fd5b505afa15801561148f573d6000803e3d6000fd5b505050506040513d60208110156114a557600080fd5b50519350505b5050919050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b031661151f576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b03168061155357600092505061164b565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561158c57600080fd5b505afa1580156115a0573d6000803e3d6000fd5b505050506040513d60208110156115b657600080fd5b50516040805163b9a04cdd60e01b81526001600160a01b038a8116600483015289811660248301526044820189905284811660648301529151919092169163b9a04cdd9160848083019260209291908290030181600087803b15801561161b57600080fd5b505af115801561162f573d6000803e3d6000fd5b505050506040513d602081101561164557600080fd5b50519250505b50949350505050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b03166116c1576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b0316806116f55760009250506117e5565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561172e57600080fd5b505afa158015611742573d6000803e3d6000fd5b505050506040513d602081101561175857600080fd5b50516040805163757cca5960e11b8152600481018990526001600160a01b03888116602483015284811660448301529151919092169163eaf994b29160648083019260209291908290030181600087803b1580156117b557600080fd5b505af11580156117c9573d6000803e3d6000fd5b505050506040513d60208110156117df57600080fd5b50519250505b509392505050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b031661185a576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b03168061188e5760009250506117e5565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118c757600080fd5b505afa1580156118db573d6000803e3d6000fd5b505050506040513d60208110156118f157600080fd5b505160408051630dd29a4f60e31b8152600481018990526001600160a01b038881166024830152848116604483015291519190921691636e94d2789160648083019260209291908290030181600087803b1580156117b557600080fd5b6000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561198957600080fd5b505afa15801561199d573d6000803e3d6000fd5b505050506040513d60208110156119b357600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03858116602483015291519190921691639be2faed916044808301926020929190829003018186803b158015611a0557600080fd5b505afa158015611a19573d6000803e3d6000fd5b505050506040513d6020811015611a2f57600080fd5b5051611a7d576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ab657600080fd5b505afa158015611aca573d6000803e3d6000fd5b505050506040513d6020811015611ae057600080fd5b505160408051630389aac160e31b81523060048201526001600160a01b03858116602483015291519190921691631c4d5608916044808301926020929190829003018186803b158015611b3257600080fd5b505afa158015611b46573d6000803e3d6000fd5b505050506040513d6020811015611b5c57600080fd5b505192915050565b604080518082019091526000808252602082015290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fe766f74652073686f756c6420626520696e2074686520616c6c6f7765642072616e6765766f74652073686f756c64206265203c3d206f726967696e616c2070726f706f73616c206e756d626572206f662063686f69636573a265627a7a72315820f843ae6da21ca7d784f4addd2aaddfcc2cb334e2dcff0e6cef7dfaf74f75206664736f6c63430005110032",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636b8eb4031161008c578063b551c37311610066578063b551c37314610383578063bea75f28146103a0578063d29b5d2f146103dc578063f81f8bf61461040e576100cf565b80636b8eb403146102f45780639588378e146103205780639d4c162d1461034c576100cf565b806302506804146100d457806306e3a9781461011457806319910699146101725780632453732a1461024f57806360bdbb3f1461027b57806368e14dac146102c8575b600080fd5b6100f1600480360360208110156100ea57600080fd5b5035610440565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6101406004803603604081101561012a57600080fd5b506001600160a01b038135169060200135610465565b604080516001600160a01b03909516855260208501939093528383019190915215156060830152519081900360800190f35b61023d600480360360a081101561018857600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359181019060a0810160808201356401000000008111156101c857600080fd5b8201836020820111156101da57600080fd5b803590602001918460018302840111640100000000831117156101fc57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506104a4945050505050565b60408051918252519081900360200190f35b61023d6004803603604081101561026557600080fd5b50803590602001356001600160a01b0316610909565b6102a76004803603604081101561029157600080fd5b506001600160a01b03813516906020013561094b565b604080519283526001600160a01b0390911660208301528051918290030190f35b61023d600480360360408110156102de57600080fd5b50803590602001356001600160a01b0316610975565b61023d6004803603604081101561030a57600080fd5b506001600160a01b0381351690602001356109bb565b61023d6004803603604081101561033657600080fd5b506001600160a01b038135169060200135610a79565b61036f6004803603604081101561036257600080fd5b5080359060200135610d0b565b604080519115158252519081900360200190f35b61023d6004803603602081101561039957600080fd5b503561122a565b61036f600480360360808110156103b657600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356114b2565b61036f600480360360608110156103f257600080fd5b508035906001600160a01b036020820135169060400135611654565b61036f6004803603606081101561042457600080fd5b508035906001600160a01b0360208201351690604001356117ed565b600260205260009081526040902080546001909101546001600160a01b039091169082565b6001602081815260009384526040808520909152918352912080549181015460028201546003909201546001600160a01b039093169290919060ff1684565b60006104ae611b64565b600260006104bb8961194e565b8152602080820192909252604090810160009081208251808401845281546001600160a01b039081168083526001909301549582019590955283516328a15e0f60e11b815284519196509194929384938c1692635142bc1e9260048083019392829003018186803b15801561052f57600080fd5b505afa158015610543573d6000803e3d6000fd5b505050506040513d604081101561055957600080fd5b50805160209091015190925090508087118015906105775750818710155b6105b25760405162461bcd60e51b8152600401808060200182810382526023815260200180611ba36023913960400191505060405180910390fd5b886001600160a01b031663a003651d896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156105f657600080fd5b505afa15801561060a573d6000803e3d6000fd5b505050506040513d602081101561062057600080fd5b50518711156106605760405162461bcd60e51b8152600401808060200182810382526035815260200180611bc66035913960400191505060405180910390fd5b60208085015160408051634439bdaf60e11b81526002600482015260248101929092523360448301526001600160a01b038d811660648401529051600093918716926388737b5e92608480830193919282900301818787803b1580156106c557600080fd5b505af11580156106d9573d6000803e3d6000fd5b505050506040513d60208110156106ef57600080fd5b8101908080519060200190929190505050905060405180608001604052808b6001600160a01b031681526020018a815260200189815260200160011515815250600160008d6001600160a01b03166001600160a01b03168152602001908152602001600020600083815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690831515021790555090505084600001516001600160a01b0316818c6001600160a01b03167f612d055dc0e586b349ae636d1de3fc64fbcf367d8c8c7406bd1823267cfe7e208d8d8d8d60405180856001600160a01b03166001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610868578181015183820152602001610850565b50505050905090810190601f1680156108955780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a46040805180820182524381526001600160a01b039c8d166020808301918252968e166000908152808852838120858252909752919095209451855551600190940180546001600160a01b03191694909b169390931790995550979650505050505050565b6040805160208082018590526bffffffffffffffffffffffff19606085901b168284015282516034818403018152605490920190925280519101205b92915050565b6000602081815292815260408082209093529081522080546001909101546001600160a01b031682565b6000806109828484610909565b60008181526002602052604090206001810186905580546001600160a01b0386166001600160a01b031990911617905591505092915050565b336000908152602081815260408083208484529091528120600101546001600160a01b0316806109ef576000915050610945565b836001600160a01b03166370a08231826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610a4557600080fd5b505afa158015610a59573d6000803e3d6000fd5b505050506040513d6020811015610a6f57600080fd5b5051949350505050565b336000908152602081815260408083208484528252808320600101548151638da5cb5b60e01b8152915185936001600160a01b03909216928392638da5cb5b92600480840193829003018186803b158015610ad357600080fd5b505afa158015610ae7573d6000803e3d6000fd5b505050506040513d6020811015610afd57600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03848116602483015291519190921691639be2faed916044808301926020929190829003018186803b158015610b4f57600080fd5b505afa158015610b63573d6000803e3d6000fd5b505050506040513d6020811015610b7957600080fd5b5051610bc7576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b610bcf611b64565b5033600090815260208181526040808320878452825291829020825180840190935280548352600101546001600160a01b0316908201819052610c16576000935050610d03565b80602001516001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5357600080fd5b505afa158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505181516040805163277166bf60e11b81526001600160a01b038a81166004830152602482019390935290519190921691634ee2cd7e916044808301926020929190829003018186803b158015610cd357600080fd5b505afa158015610ce7573d6000803e3d6000fd5b505050506040513d6020811015610cfd57600080fd5b50519350505b505092915050565b3360009081526020818152604080832085845290915281206001015483906001600160a01b0316610d78576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208784529091529020600101546001600160a01b0316610da5611b7b565b506001600160a01b0380821660009081526001602081815260408084208a855282529283902083516080810185528154909516855291820154908401526002810154918301919091526003015460ff16151560608201819052610e0757600080fd5b6001600160a01b03821660008181526001602081815260408084208b855290915280832080546001600160a01b0319168155918201839055600282018390556003909101805460ff19169055518892917f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe91a3606060008660011415611170576000846001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ec257600080fd5b505afa158015610ed6573d6000803e3d6000fd5b505050506040513d6020811015610eec57600080fd5b81019080805190602001909291905050509050806001600160a01b031663d1b7089a856000015186602001518760400151600030604051602401808581526020018481526020018360ff168152602001826001600160a01b03166001600160a01b0316815260200194505050505060405160208183030381529060405263359afa4960e01b6001600160e01b0319166020820180516001600160e01b0383818316178352505050508860006040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b0316815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015611019578181015183820152602001611001565b50505050905090810190601f1680156110465780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561106857600080fd5b505af115801561107c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156110a557600080fd5b8151602083018051604051929492938301929190846401000000008211156110cc57600080fd5b9083019060208201858111156110e157600080fd5b82516401000000008111828201881017156110fb57600080fd5b82525081516020918201929091019080838360005b83811015611128578181015183820152602001611110565b50505050905090810190601f1680156111555780820380516001836020036101000a031916815260200191505b5060405250505080945081935050508161116e57600080fd5b505b87846001600160a01b03167f7c1ea889aeb873862488f79e0228a2240ec23e80244de201dd45f39f603fc3c489856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156111e15781810151838201526020016111c9565b50505050905090810190601f16801561120e5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001979650505050505050565b336000908152602081815260408083208484528252808320600101548151638da5cb5b60e01b8152915185936001600160a01b03909216928392638da5cb5b92600480840193829003018186803b15801561128457600080fd5b505afa158015611298573d6000803e3d6000fd5b505050506040513d60208110156112ae57600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03848116602483015291519190921691639be2faed916044808301926020929190829003018186803b15801561130057600080fd5b505afa158015611314573d6000803e3d6000fd5b505050506040513d602081101561132a57600080fd5b5051611378576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b611380611b64565b5033600090815260208181526040808320878452825291829020825180840190935280548352600101546001600160a01b03169082018190526113c75760009350506114ab565b80602001516001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561140457600080fd5b505afa158015611418573d6000803e3d6000fd5b505050506040513d602081101561142e57600080fd5b5051815160408051630981b24d60e41b81526004810192909252516001600160a01b039092169163981b24d091602480820192602092909190829003018186803b15801561147b57600080fd5b505afa15801561148f573d6000803e3d6000fd5b505050506040513d60208110156114a557600080fd5b50519350505b5050919050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b031661151f576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b03168061155357600092505061164b565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561158c57600080fd5b505afa1580156115a0573d6000803e3d6000fd5b505050506040513d60208110156115b657600080fd5b50516040805163b9a04cdd60e01b81526001600160a01b038a8116600483015289811660248301526044820189905284811660648301529151919092169163b9a04cdd9160848083019260209291908290030181600087803b15801561161b57600080fd5b505af115801561162f573d6000803e3d6000fd5b505050506040513d602081101561164557600080fd5b50519250505b50949350505050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b03166116c1576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b0316806116f55760009250506117e5565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561172e57600080fd5b505afa158015611742573d6000803e3d6000fd5b505050506040513d602081101561175857600080fd5b50516040805163757cca5960e11b8152600481018990526001600160a01b03888116602483015284811660448301529151919092169163eaf994b29160648083019260209291908290030181600087803b1580156117b557600080fd5b505af11580156117c9573d6000803e3d6000fd5b505050506040513d60208110156117df57600080fd5b50519250505b509392505050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b031661185a576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b03168061188e5760009250506117e5565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118c757600080fd5b505afa1580156118db573d6000803e3d6000fd5b505050506040513d60208110156118f157600080fd5b505160408051630dd29a4f60e31b8152600481018990526001600160a01b038881166024830152848116604483015291519190921691636e94d2789160648083019260209291908290030181600087803b1580156117b557600080fd5b6000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561198957600080fd5b505afa15801561199d573d6000803e3d6000fd5b505050506040513d60208110156119b357600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03858116602483015291519190921691639be2faed916044808301926020929190829003018186803b158015611a0557600080fd5b505afa158015611a19573d6000803e3d6000fd5b505050506040513d6020811015611a2f57600080fd5b5051611a7d576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ab657600080fd5b505afa158015611aca573d6000803e3d6000fd5b505050506040513d6020811015611ae057600080fd5b505160408051630389aac160e31b81523060048201526001600160a01b03858116602483015291519190921691631c4d5608916044808301926020929190829003018186803b158015611b3257600080fd5b505afa158015611b46573d6000803e3d6000fd5b505050506040513d6020811015611b5c57600080fd5b505192915050565b604080518082019091526000808252602082015290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fe766f74652073686f756c6420626520696e2074686520616c6c6f7765642072616e6765766f74652073686f756c64206265203c3d206f726967696e616c2070726f706f73616c206e756d626572206f662063686f69636573a265627a7a72315820f843ae6da21ca7d784f4addd2aaddfcc2cb334e2dcff0e6cef7dfaf74f75206664736f6c63430005110032",
  "linkReferences": {},
  "deployedLinkReferences": {}
}