{
  "contractName": "GenesisProtocol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "_stakingToken",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_organization",
          "type": "address"
        }
      ],
      "name": "CancelProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_organization",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "CancelVoting",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_confidenceThreshold",
          "type": "uint256"
        }
      ],
      "name": "ConfidenceLevelChange",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_organization",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_decision",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_totalReputation",
          "type": "uint256"
        }
      ],
      "name": "ExecuteProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "ExpirationCallBounty",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum GenesisProtocolLogic.ExecutionState",
          "name": "_executionState",
          "type": "uint8"
        }
      ],
      "name": "GPExecuteProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_organization",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_numOfChoices",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_proposer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "_paramsHash",
          "type": "bytes32"
        }
      ],
      "name": "NewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_organization",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "Redeem",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_organization",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "RedeemDaoBounty",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_organization",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "RedeemReputation",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_organization",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_staker",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_vote",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "Stake",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum GenesisProtocolLogic.ProposalState",
          "name": "_proposalState",
          "type": "uint8"
        }
      ],
      "name": "StateChange",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_organization",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_voter",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_vote",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_reputation",
          "type": "uint256"
        }
      ],
      "name": "VoteProposal",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "DELEGATION_HASH_EIP712",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "NO",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "NUM_OF_CHOICES",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "YES",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "averagesDownstakesOfBoosted",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "calcExecuteCallBounty",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "cancelVote",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "execute",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "executeBoosted",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "expirationCallBounty",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getAllowedRangeOfChoices",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "min",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "max",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "getNumberOfChoices",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[11]",
          "name": "_params",
          "type": "uint256[11]"
        },
        {
          "internalType": "address",
          "name": "_voteOnBehalf",
          "type": "address"
        }
      ],
      "name": "getParametersHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "getProposalOrganization",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "getProposalTimes",
      "outputs": [
        {
          "internalType": "uint256[3]",
          "name": "times",
          "type": "uint256[3]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_staker",
          "type": "address"
        }
      ],
      "name": "getStaker",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isAbstainAllow",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "isVotable",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "orgBoostedProposalsCnt",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "organizations",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "parameters",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "queuedVoteRequiredPercentage",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "queuedVotePeriodLimit",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "boostedVotePeriodLimit",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "preBoostedVotePeriodLimit",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "thresholdConst",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "limitExponentValue",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "quietEndingPeriod",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "proposingRepReward",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "votersReputationLossRatio",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "minimumDaoBounty",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "daoBountyConst",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "activationTime",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "voteOnBehalf",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "proposalStatus",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "proposals",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "organizationId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "callbacks",
          "type": "address"
        },
        {
          "internalType": "enum GenesisProtocolLogic.ProposalState",
          "name": "state",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "winningVote",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "proposer",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "currentBoostedVotePeriodLimit",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "paramsHash",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "daoBountyRemain",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "daoBounty",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "totalStakes",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "confidenceThreshold",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "secondsFromTimeOutTillExecuteBoosted",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "daoRedeemItsWinnings",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proposalsCnt",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "_paramsHash",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_proposer",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_organization",
          "type": "address"
        }
      ],
      "name": "propose",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "redeem",
      "outputs": [
        {
          "internalType": "uint256[3]",
          "name": "rewards",
          "type": "uint256[3]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "redeemDaoBounty",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "redeemedAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "potentialAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "score",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[11]",
          "name": "_params",
          "type": "uint256[11]"
        },
        {
          "internalType": "address",
          "name": "_voteOnBehalf",
          "type": "address"
        }
      ],
      "name": "setParameters",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "shouldBoost",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_vote",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "stake",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_vote",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_nonce",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_signatureType",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "_signature",
          "type": "bytes"
        }
      ],
      "name": "stakeWithSignature",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "stakesNonce",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "stakingToken",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "state",
      "outputs": [
        {
          "internalType": "enum GenesisProtocolLogic.ProposalState",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_paramsHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_organizationId",
          "type": "bytes32"
        }
      ],
      "name": "threshold",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_vote",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "vote",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "voteInfo",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_vote",
          "type": "uint256"
        }
      ],
      "name": "voteStake",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_choice",
          "type": "uint256"
        }
      ],
      "name": "voteStatus",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "winningVote",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040523480156200001157600080fd5b506040516200480938038062004809833981810160405260208110156200003757600080fd5b5051806200006573543ff227f64aa17ea132bf9886cab5db55dcaddf620000bb602090811b620026f017901c565b156200009757600680546001600160a01b03191673543ff227f64aa17ea132bf9886cab5db55dcaddf179055620000b3565b600680546001600160a01b0319166001600160a01b0383161790555b5050620000f8565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590620000f057508115155b949350505050565b61470180620001086000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c806372f702f31161013b578063b4512913116100b8578063c8f526e81161007c578063c8f526e814610887578063cc3bf9e9146108dc578063e5af18c514610908578063e751f27114610925578063fb6c0cbb1461094257610248565b8063b4512913146107f0578063ba51b14e14610813578063bb5a05ed14610830578063beda80151461084d578063c08351061461086a57610248565b80639525c0cc116100ff5780639525c0cc146107865780639bc5689d14610347578063a003651d146107a5578063a05ea6e4146107c2578063b2449d65146107e857610248565b806372f702f31461069c57806379a1c1f6146106c057806380f5e0a11461070357806388737b5e146107205780638894c41b1461075a57610248565b806332ed5b12116101c95780635142bc1e1161018d5780635142bc1e146105fc57806351d997b21461060457806361d585da1461060c5780636359036b1461064d578063707437681461067957610248565b806332ed5b121461044d578063359afa49146104fb5780633c133818146105335780634047487314610550578063488c65fc1461056d57610248565b80631702ef0c116102105780631702ef0c146103c057806321b4b3dc146103dd5780632d598e58146103e55780632daedd521461040857806330ca0a531461044557610248565b8063025068041461024d57806307b4e1e3146102d85780630d48344214610347578063119ce91b1461034f57806316db517214610394575b600080fd5b61026a6004803603602081101561026357600080fd5b503561095f565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e08801526101008701526101208601526101408501526101608401526001600160a01b031661018083015251908190036101a00190f35b61033560048036036101808110156102ef57600080fd5b81019080806101600190600b806020026040519081016040528092919082600b602002808284376000920191909152509194505050356001600160a01b031690506109cf565b60408051918252519081900360200190f35b610335610ae0565b61037b6004803603604081101561036557600080fd5b50803590602001356001600160a01b0316610ae5565b6040805192835260208301919091528051918290030190f35b61037b600480360360408110156103aa57600080fd5b50803590602001356001600160a01b0316610b21565b610335600480360360208110156103d657600080fd5b5035610b76565b610335610b88565b610335600480360360408110156103fb57600080fd5b5080359060200135610b8e565b6104316004803603606081101561041e57600080fd5b5080359060208101359060400135610bdb565b604080519115158252519081900360200190f35b610335610c3e565b61046a6004803603602081101561046357600080fd5b5035610cea565b604080518e81526001600160a01b038e1660208201529081018c600681111561048f57fe5b60ff168152602081019b909b52506001600160a01b039098166040808b019190915260608a0197909752608089019590955260a088019390935260c087019190915260e08601526101008501526101208401529015156101408301525190819003610160019350915050f35b6104316004803603608081101561051157600080fd5b50803590602081013590604081013590606001356001600160a01b0316610d58565b6103356004803603602081101561054957600080fd5b5035610f07565b6103356004803603602081101561056657600080fd5b5035610f1c565b610431600480360360c081101561058357600080fd5b8135916020810135916040820135916060810135916080820135919081019060c0810160a08201356401000000008111156105bd57600080fd5b8201836020820111156105cf57600080fd5b803590602001918460018302840111640100000000831117156105f157600080fd5b509092509050610f94565b61037b6112bd565b6104316112c5565b6106296004803603602081101561062257600080fd5b50356112cb565b6040518082600681111561063957fe5b60ff16815260200191505060405180910390f35b61037b6004803603604081101561066357600080fd5b50803590602001356001600160a01b03166112eb565b6103356004803603604081101561068f57600080fd5b50803590602001356115ce565b6106a46115ef565b604080516001600160a01b039092168252519081900360200190f35b6106dd600480360360208110156106d657600080fd5b50356115fe565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6104316004803603602081101561071957600080fd5b5035611641565b6103356004803603608081101561073657600080fd5b508035906020810135906001600160a01b036040820135811691606001351661177e565b610335600480360361018081101561077157600080fd5b506001600160a01b036101608201351661178b565b6107a36004803603602081101561079c57600080fd5b5035611b78565b005b610335600480360360208110156107bb57600080fd5b5035611bd1565b610335600480360360208110156107d857600080fd5b50356001600160a01b0316611bd7565b610335611be9565b6103356004803603604081101561080657600080fd5b5080359060200135611bee565b6106a46004803603602081101561082957600080fd5b5035611c0f565b6103356004803603602081101561084657600080fd5b5035611c2a565b6103356004803603602081101561086357600080fd5b5035611c3c565b6104316004803603602081101561088057600080fd5b5035611e85565b6108a46004803603602081101561089d57600080fd5b5035611e90565b6040518082606080838360005b838110156108c95781810151838201526020016108b1565b5050505090500191505060405180910390f35b6108a4600480360360408110156108f257600080fd5b50803590602001356001600160a01b0316611edf565b6103356004803603602081101561091e57600080fd5b503561266c565b6104316004803603602081101561093b57600080fd5b5035612677565b6103356004803603602081101561095857600080fd5b50356126de565b600060208190529081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a8b0154600b8c0154600c909c01549a9b999a989997989697959694959394929391929091906001600160a01b03168d565b60008281602002015183600160200201518460026020020151856003602002015186600460200201518760056020020151886006602002015189600760200201518a600860200201518b600960200201518c600a6020020151604051602001808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001208260405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012090505b92915050565b600281565b60008281526001602090815260408083206001600160a01b038516845260110190915290205460f881901c906001600160801b03169250929050565b600080610b2c614430565b50505060009182526001602081815260408085206001600160a01b039490941685526013909301815292829020825180840190935280548084529101549190920181905260f81c91565b60009081526001602052604090205490565b60055481565b6000818152600260209081526040808320548584529183905282206005810154821115610bbd57806005015491505b6004810154610bd2908363ffffffff61272916565b95945050505050565b600083610be781612773565b610c32576040805162461bcd60e51b815260206004820152601760248201527670726f706f73616c206973206e6f7420766f7461626c6560481b604482015290519081900360640190fd5b610bd2858585336127e6565b604080517f616464726573732047656e6573697350726f746f636f6c41646472657373000060208083019190915271189e5d195ccccc88141c9bdc1bdcd85b125960721b603e8301526b75696e7432353620566f746560a01b60508301527475696e7432353620416d6f756e74546f5374616b6560581b605c8301526c75696e74323536204e6f6e636560981b60718301528251605e818403018152607e909201909252805191012081565b600160208190526000918252604090912080549181015460028201546003830154600484015460058501546006860154600787015460088801546009890154600a8a0154600e909a01546001600160a01b03808b169b60ff600160a01b909c048c169b99909116989091168d565b600084610d6481612773565b610daf576040805162461bcd60e51b815260206004820152601760248201527670726f706f73616c206973206e6f7420766f7461626c6560481b604482015290519081900360640190fd5b6000868152600160205260409020610dc561444a565b5060058082015460009081526020818152604080832081516101a0810183528154815260018201549381019390935260028101549183019190915260038101546060830152600481015460808301529283015460a0820152600683015460c0820152600783015460e082015260088301546101008201526009830154610120820152600a830154610140820152600b830154610160820152600c909201546001600160a01b0316610180830181905215610eeb578161018001516001600160a01b0316336001600160a01b031614610ee4576040805162461bcd60e51b815260206004820152601760248201527f766f746572206973206e6f7420617574686f72697a6564000000000000000000604482015290519081900360640190fd5b5084610eee565b50335b610efa89828a8a612c08565b9998505050505050505050565b60009081526001602052604090206002015490565b6000818152600160205260408120600a01546105dc908290610f4590839063ffffffff61324416565b600085815260016020818152604080842092845260129092019052902054909150610f8c90600a840290610f8090849063ffffffff61325a16565b9063ffffffff6132b316565b949350505050565b600087610fa081612773565b610feb576040805162461bcd60e51b815260206004820152601760248201527670726f706f73616c206973206e6f7420766f7461626c6560481b604482015290519081900360640190fd5b6000856002141561110d5750604080517f616464726573732047656e6573697350726f746f636f6c41646472657373000060208083019190915271189e5d195ccccc88141c9bdc1bdcd85b125960721b603e8301526b75696e7432353620566f746560a01b60508301527475696e7432353620416d6f756e74546f5374616b6560581b605c8301526c75696e74323536204e6f6e636560981b60718301528251605e818403018152607e830184528051908201203060601b609e84015260b283018d905260d283018c905260f283018b90526101128084018b905284518085039091018152610132840185528051908301206101528401919091526101728084019190915283518084039091018152610192909201909252805191012061115e565b604080513060601b602080830191909152603482018d9052605482018c9052607482018b905260948083018b90528351808403909101815260b4909201909252805191012061115b906132f5565b90505b60006111a886868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505063ffffffff613346169050565b90506001600160a01b038116611205576040805162461bcd60e51b815260206004820152601a60248201527f7374616b657220616464726573732063616e6e6f742062652030000000000000604482015290519081900360640190fd5b6001600160a01b038116600090815260076020526040902054881461125f576040805162461bcd60e51b815260206004820152600b60248201526a77726f6e67206e6f6e636560a81b604482015290519081900360640190fd5b6001600160a01b03811660009081526007602052604090205461128990600163ffffffff61352d16565b6001600160a01b0382166000908152600760205260409020556112ae8b8b8b846127e6565b9b9a5050505050505050505050565b600160029091565b60005b90565b60009081526001602081905260409091200154600160a01b900460ff1690565b6000828152600160205260408120819060026001820154600160a01b900460ff16600681111561131757fe5b14611369576040805162461bcd60e51b815260206004820152601960248201527f70726f706f73616c206e6f742065786563757465642079657400000000000000604482015290519081900360640190fd5b600281015460009081526012820160209081526040808320546001600160a01b03881684526013850190925290912060018101546001600160f81b0316158015906113be57506002830154600182015460f81c145b80156113ce575060018360020154145b80156113d957508115155b156113fe5781836007015482600101546001600160f81b031602816113fa57fe5b0493505b83158015906114935750600183015460065460408051636b8eb40360e01b81526001600160a01b039283166004820152602481018b9052905187939290921691636b8eb40391604480820192602092909190829003018186803b15801561146457600080fd5b505afa158015611478573d6000803e3d6000fd5b505050506040513d602081101561148e57600080fd5b505110155b156115c4576001810180546001600160f81b031916905560068301546114bf908563ffffffff61358716565b60068085019190915560018401549054604080516317d4ebe560e31b81526001600160a01b039283166004820152898316602482015260448101889052606481018b90529051919092169163bea75f289160848083019260209291908290030181600087803b15801561153157600080fd5b505af1158015611545573d6000803e3d6000fd5b505050506040513d602081101561155b57600080fd5b505161156657600080fd5b8254600090815260036020908152604091829020548251878152925196975087966001600160a01b03808b16949216928b927fb4a37163ec93e05e09b62e52f7f2ea8cfde431802edede7dfebe53d2ad969dbb929081900390910190a45b5050509250929050565b60009182526001602090815260408084209284526012909201905290205490565b6006546001600160a01b031681565b6000908152600160208181526040808420838552601081018352818520546002808752838720549587526012909201909352818520549085529320549093919291565b600061164b6144bb565b60008381526001602081815260409283902083516101c08101855281548152928101546001600160a01b038116928401929092529192830190600160a01b900460ff16600681111561169957fe5b60068111156116a457fe5b8152600282015460208201526003808301546001600160a01b0316604080840191909152600484015460608085019190915260058501546080850152600685015460a0850152600785015460c0850152600885015460e08501526009850154610100850152600a8501546101208501528151908101918290526101409093019291600b85019182845b81548152602001906001019080831161172d575050509183525050600e919091015460ff16151560209091015260c0810151815191925061176d91610b8e565b611776846135c9565b119392505050565b6000610bd284848461360a565b600060648335118015906117a157506032833510155b6117dc5760405162461bcd60e51b815260040180806020018281038252602981526020018061464f6029913960400191505060405180910390fd5b613e806080840135118015906117f757506103e86080840135115b611848576040805162461bcd60e51b815260206004820152601e60248201527f31303030203c207468726573686f6c64436f6e7374203c3d2031363030300000604482015290519081900360640190fd5b606460e084013511156118a2576040805162461bcd60e51b815260206004820181905260248201527f766f7465727352657075746174696f6e4c6f7373526174696f203c3d20313030604482015290519081900360640190fd5b60a0830135604084013510156118e95760405162461bcd60e51b815260040180806020018281038252602b815260200180614602602b913960400191505060405180910390fd5b610100830135611940576040805162461bcd60e51b815260206004820152601e60248201527f6d696e696d756d44616f426f756e74792073686f756c64206265203e20300000604482015290519081900360640190fd5b610120830135611997576040805162461bcd60e51b815260206004820152601c60248201527f64616f426f756e7479436f6e73742073686f756c64206265203e203000000000604482015290519081900360640190fd5b60006119cd84600b806020026040519081016040528092919082600b602002808284376000920191909152508691506109cf9050565b905060ac60026107d05b613e80811015611a1f576080870135811080156119fb575060028102608088013511155b15611a1157818381611a0957fe5b049250611a1f565b6001909101906002026119d7565b50604080516101a0810182528735815260208089013590820152878201359181019190915260608088013590820152608080820190611a6c908901356001600160d81b03166103e8613a09565b81526020810184905260a088810135604083015260c0808a0135606084015260e0808b013560808501526101008b0135928401929092526101208a0135908301520187600a6020908102919091013582526001600160a01b03978816918101919091526000858152808252604090819020835181559183015160018301558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160088201556101208201516009820155610140820151600a820155610160820151600b82015561018090910151600c90910180546001600160a01b0319169190961617909455509392505050565b80611b8281612773565b611bcd576040805162461bcd60e51b815260206004820152601760248201527670726f706f73616c206973206e6f7420766f7461626c6560481b604482015290519081900360640190fd5b5050565b50600290565b60076020526000908152604090205481565b600181565b6000918252600160209081526040808420928452600f909201905290205490565b6003602052600090815260409020546001600160a01b031681565b60046020526000908152604090205481565b600081815260016020526040812060056001820154600160a01b900460ff166006811115611c6657fe5b1480611c8b575060066001820154600160a01b900460ff166006811115611c8957fe5b145b611cc65760405162461bcd60e51b81526004018080602001828103825260338152602001806146996033913960400191505060405180910390fd5b611ccf83613a2c565b611d20576040805162461bcd60e51b815260206004820152601760248201527f70726f706f73616c206e65656420746f20657870697265000000000000000000604482015290519081900360640190fd5b611d4c611d3f600b83016001015460048401549063ffffffff61352d16565b429063ffffffff61358716565b600a820155611d5a83610f1c565b6008820154909250611d72908363ffffffff61358716565b60088201556006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015611dcb57600080fd5b505af1158015611ddf573d6000803e3d6000fd5b505050506040513d6020811015611df557600080fd5b5051611e48576040805162461bcd60e51b815260206004820152601d60248201527f7472616e7366657220746f206d73672e73656e646572206661696c6564000000604482015290519081900360640190fd5b604080518381529051339185917f7468017f6ff596af88244327e88fe691ac48cc1db88b033d11c335f2c7ccdd039181900360200190a350919050565b6000610ada82612773565b611e9861453c565b60008281526001602052604090819020815160608101909252600b0160038282826020028201915b815481526020019060010190808311611ec05750505050509050919050565b611ee761453c565b600083815260016020526040902060026001820154600160a01b900460ff166006811115611f1157fe5b1480611f355750600180820154600160a01b900460ff166006811115611f3357fe5b145b611f705760405162461bcd60e51b815260040180806020018281038252602d8152602001806145b3602d913960400191505060405180910390fd5b611f7861444a565b5060058082015460009081526020818152604080832081516101a081018352815481526001820154818501526002808301548285015260038301546060830152600483015460808301529582015460a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154610140820152600b820154610160820152600c909101546001600160a01b03908116610180830152881684526013860183528184209486015484526012860190925282205490929161208461204e89610f1c565b6001600090815260128801602052604080822054600283529120546120789163ffffffff61352d16565b9063ffffffff61358716565b83549091501561214b57600180860154600160a01b900460ff1660068111156120a957fe5b14156120b85782548652612146565b6002850154600184015460f81c14156121465760018381015460f81c14156121275780856007015410156121225760006120ff86600701548361358790919063ffffffff16565b84549091508390612116908363ffffffff61325a16565b8161211d57fe5b048752505b612146565b8254829061213b908363ffffffff61325a16565b8161214257fe5b0486525b600083555b600e85015460ff1615801561217b575084546000908152600360205260409020546001600160a01b038881169116145b80156121a05750600180860154600160a01b900460ff16600681111561219d57fe5b14155b80156121b0575060028560020154145b156122015760078501546121ef90612078846121d2838663ffffffff61325a16565b816121d957fe5b048960005b60200201519063ffffffff61352d16565b8652600e8501805460ff191660011790555b6001600160a01b03871660009081526011860160205260409020546001600160801b038116600160f783901c81161460f883901c82158015906122415750815b15612388576001808a0154600160a01b900460ff16600681111561226157fe5b14156122935760646122818961010001518561325a90919063ffffffff16565b8161228857fe5b0460208b015261236c565b8060ff168960020154141561236c57600060018a6002015414156122ca57506002600090815260108a0160205260409020546122df565b506001600090815260108a0160205260409020545b60646122f98a61010001518361325a90919063ffffffff16565b8161230057fe5b60028c0154600090815260108d01602052604090205491900491506123659061232f868463ffffffff61325a16565b8161233657fe5b0460646123518c61010001518861325a90919063ffffffff16565b8161235857fe5b049063ffffffff61352d16565b60208c0152505b6001600160a01b038b16600090815260118a0160205260408120555b60038901546001600160a01b038c811691161480156123ab575060018960020154145b80156123c3575060038901546001600160a01b031615155b156123e55760e088015160408b01526003890180546001600160a01b03191690555b89511561253857895160088a01546123fc91613587565b60088a01556006548a516040805163a9059cbb60e01b81526001600160a01b038f8116600483015260248201939093529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561245a57600080fd5b505af115801561246e573d6000803e3d6000fd5b505050506040513d602081101561248457600080fd5b50516124d7576040805162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b88546000908152600360205260408120546001600160a01b03808e16929116908e907f6d26871c9f457d104b2122485f659f126f7a0cf6938cf20482c03f49794a2fbf908e9060200201516040518082815260200191505060405180910390a45b60408a0151612549908b60016121de565b1561265d5760018901546001600160a01b031663d29b5d2f6125748c600260200201518d60016121de565b8d8f6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b1580156125cc57600080fd5b505af11580156125e0573d6000803e3d6000fd5b505050506040513d60208110156125f657600080fd5b505088546000908152600360205260409020546001600160a01b03808d1691168d7f7419b736daacf66d5c1645948c956fca2b83be1e2e02d486d65713f289d683b861264b8e600260200201518f60016121de565b60408051918252519081900360200190a45b50505050505050505092915050565b6000610ada826135c9565b60008161268381612773565b6126ce576040805162461bcd60e51b815260206004820152601760248201527670726f706f73616c206973206e6f7420766f7461626c6560481b604482015290519081900360640190fd5b6126d783613a2c565b9392505050565b60026020526000908152604090205481565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610f8c575050151592915050565b60008282650100000000005b8115610bd25781600116600114156127545761275181846142a5565b90505b60019190911c90811561276e5761276b83846142a5565b92505b612735565b600081815260016020819052604082200154600160a01b900460ff16600481600681111561279d57fe5b14806127b4575060058160068111156127b257fe5b145b806127ca575060068160068111156127c857fe5b145b806126d7575060038160068111156127de57fe5b149392505050565b6000600284111580156127f95750600084115b61283d576040805162461bcd60e51b815260206004820152601060248201526f77726f6e6720766f74652076616c756560801b604482015290519081900360640190fd5b60008311612892576040805162461bcd60e51b815260206004820152601b60248201527f7374616b696e6720616d6f756e742073686f756c64206265203e300000000000604482015290519081900360640190fd5b61289b85613a2c565b156128a857506001610f8c565b600085815260016020526040902060046001820154600160a01b900460ff1660068111156128d257fe5b141580156128fa575060036001820154600160a01b900460ff1660068111156128f757fe5b14155b15612909576000915050610f8c565b6001600160a01b0383166000908152601382016020526040902080541580159061293a5750600181015460f81c8614155b1561294a57600092505050610f8c565b600654604080516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018990529151889392909216916323b872dd916064808201926020929091908290030181600087803b1580156129a957600080fd5b505af11580156129bd573d6000803e3d6000fd5b505050506040513d60208110156129d357600080fd5b5051612a26576040805162461bcd60e51b815260206004820152601960248201527f6661696c207472616e736665722066726f6d207374616b657200000000000000604482015290519081900360640190fd5b6008830154612a3b908263ffffffff61352d16565b60088401558154612a52908263ffffffff61352d16565b808355600160801b1015612aad576040805162461bcd60e51b815260206004820152601a60248201527f7374616b696e6720616d6f756e7420697320746f6f2068696768000000000000604482015290519081900360640190fd5b6006830154612ac790600160801b9063ffffffff61358716565b83600801541115612b1f576040805162461bcd60e51b815260206004820152601860248201527f746f74616c207374616b657320697320746f6f20686967680000000000000000604482015290519081900360640190fd5b6001871415612b5757600182015460f888901b90612b4c906001600160f81b03168363ffffffff61352d16565b176001830155612b66565b60018201805460f889901b1790555b6000878152601284016020526040902054612b8890829063ffffffff61352d16565b60008881526012850160209081526040808320939093558554825260038152908290205482518a815291820189905282516001600160a01b03808a16949216928c927fd0239d7d4acf51def4507fa173be466927de5d75d8b10d840cd6994d6e10231092918290030190a4612bfc88613a2c565b98975050505050505050565b600060028311158015612c1b5750600083115b612c5d576040805162461bcd60e51b815260206004820152600e60248201526d18101e102fbb37ba32901e1e901960911b604482015290519081900360640190fd5b612c6685613a2c565b15612c7357506001610f8c565b612c7b61444a565b506000858152600160208181526040808420600580820154865285845282862083516101a0810185528154815281870154818701526002820154818601526003820154606082015260048083015460808301529282015460a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154610140820152600b820154610160820152600c909101546001600160a01b039081166101808301528c8852868652958301548451634ac41bc760e11b81528c881693810193909352602483018d905293519096929592949390921692639588378e92604480840193829003018186803b158015612d8257600080fd5b505afa158015612d96573d6000803e3d6000fd5b505050506040513d6020811015612dac57600080fd5b5051905080612e02576040805162461bcd60e51b815260206004820152601b60248201527f5f766f746572206d75737420686176652072657075746174696f6e0000000000604482015290519081900360640190fd5b84811015612e4c576040805162461bcd60e51b8152602060048201526012602482015271072657075746174696f6e203e3d205f7265760741b604482015290519081900360640190fd5b8480612e555750805b6001600160a01b038816600090815260118401602052604090205415612e82576000945050505050610f8c565b6000878152600f84016020526040902054612ea490829063ffffffff61352d16565b6000888152600f8501602052604080822083905560028601548252812054908990521080612efc57506002808401546000908152600f8501602052604080822054928252902054148015612efc575060018360020154145b1561300b5760056001840154600160a01b900460ff166006811115612f1d57fe5b148015612f3d575060c0840151604085015103600b840160010154420310155b80612f61575060066001840154600160a01b900460ff166006811115612f5f57fe5b145b156130035760066001840154600160a01b900460ff166006811115612f8257fe5b14612ffc5760c0840151600484015560018301805460ff60a01b1916600360a11b17908190556040518a917f21aca7f0285ccddeca2935074d3e36b5ab8fea0327f84cbbf12cf1b6d1a749f991600160a01b90910460ff169080826006811115612fe857fe5b60ff16815260200191505060405180910390a25b42600c8401555b600283018790555b6001600160801b03811660f888901b1760046001850154600160a01b900460ff16600681111561303757fe5b148061305c575060036001850154600160a01b900460ff16600681111561305a57fe5b145b1561306857600160f71b175b6001600160a01b0389166000908152601185016020526040902081905560046001850154600160a01b900460ff1660068111156130a157fe5b14806130c6575060036001850154600160a01b900460ff1660068111156130c457fe5b145b156131d15760008881526010850160205260409020546130ed90839063ffffffff61352d16565b600089815260108601602052604081209190915561010086015160649061311a908563ffffffff61325a16565b8161312157fe5b0490508460010160009054906101000a90046001600160a01b03166001600160a01b031663f81f8bf6828c8e6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b1580156131a357600080fd5b505af11580156131b7573d6000803e3d6000fd5b505050506040513d60208110156131cd57600080fd5b5050505b83546000908152600360209081526040918290205482518b815291820185905282516001600160a01b03808e16949216928e927f066c061a3792cb3eb64a441a928655fcbafb4a54b49725fe9cd2951df5e7189e92918290030190a46132368a613a2c565b9a9950505050505050505050565b600081831061325357816126d7565b5090919050565b60008261326957506000610ada565b8282028284828161327657fe5b04146126d75760405162461bcd60e51b81526004018080602001828103825260218152602001806146786021913960400191505060405180910390fd5b60006126d783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614309565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461339e576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561340f5760405162461bcd60e51b81526004018080602001828103825260228152602001806145e06022913960400191505060405180910390fd5b8060ff16601b1415801561342757508060ff16601c14155b156134635760405162461bcd60e51b815260040180806020018281038252602281526020018061462d6022913960400191505060405180910390fd5b60408051600080825260208083018085528a905260ff85168385015260608301879052608083018690529251909260019260a080820193601f1981019281900390910190855afa1580156134bb573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613523576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b9695505050505050565b6000828201838110156126d7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006126d783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506143ab565b600081815260016020818152604080842060028552601281019092528084205492845283205490916126d7916001600160d81b03169063ffffffff613a0916565b6000838152602081905260408120600b01544211613660576040805162461bcd60e51b815260206004820152600e60248201526d1b9bdd081858dd1a5d99481e595d60921b604482015290519081900360640190fd5b600084815260208190526040902054603211156136c4576040805162461bcd60e51b815260206004820152601960248201527f706172616d657465727320646f6573206e6f7420657869737400000000000000604482015290519081900360640190fd5b600554604080513060601b602080830191909152603480830185905283518084039091018152605490920190925280519101209061370990600163ffffffff61352d16565b6005556137146144bb565b33602082810182905260408051606093841b818401526bffffffffffffffffffffffff1988851b16603482015281516028818303018152604890910182528051908301208452600381850181905261018085015142905260008a815280845282812060029081015460a08801526001600160a01b038b811660808901529587015260c086018b905285518152925290205416613807576001600160a01b0384166137dd578051600090815260036020526040902080546001600160a01b03191633179055613807565b8051600090815260036020526040902080546001600160a01b0319166001600160a01b0386161790555b8051600090815260046020908152604080832054898452918390528220600a015461383e91606491610f809163ffffffff61325a16565b60008881526020819052604090206009015490915061386490829063ffffffff61440516565b60e0830152600083815260016020818152604092839020855181559085015191810180546001600160a01b0319166001600160a01b03909316929092178083559285015185939192909160ff60a01b1916600160a01b8360068111156138c657fe5b0217905550606082015160028201556080820151600380830180546001600160a01b0319166001600160a01b039093169290921790915560a0830151600483015560c0830151600583015560e08301516006830155610100830151600783015561012083015160088301556101408301516009830155610160830151600a83015561018083015161395c91600b8401919061455a565b506101a09190910151600e909101805460ff191691151591909117905560e08201516000848152600160209081526040808320600280855260129091018352818420949094558551835260038252918290205482519384526001600160a01b038a8116928501929092528383018b9052915191169185917f75b4ff136cc5de5957574c797de3334eb1c141271922b825eb071e0487ba2c5c916060908290030190a3509095945050505050565b60006126d76001600160d81b038085166501000000000090810291851602614415565b6000818152600160205260408120613a4261444a565b506005808201546000908152602081815260409182902082516101a0810184528154815260018201549281019290925260028101549282019290925260038201546060820152600482015460808201529181015460a0830152600681015460c0830152600781015460e083015260088101546101008301526009810154610120830152600a810154610140830152600b810154610160830152600c01546001600160a01b0316610180820152613af66144bb565b604080516101c0810182528454815260018501546001600160a01b03811660208301529091859190830190600160a01b900460ff166006811115613b3657fe5b6006811115613b4157fe5b8152600282015460208201526003808301546001600160a01b0316604080840191909152600484015460608085019190915260058501546080850152600685015460a0850152600785015460c0850152600885015460e08501526009850154610100850152600a8501546101208501528151908101918290526101409093019291600b85019182845b815481526020019060010190808311613bca575050509183525050600e919091015460ff16151560209182015260018501546040805163b551c37360e01b8152600481018a905290519394506000936001600160a01b039092169263b551c37392602480840193829003018186803b158015613c4557600080fd5b505afa158015613c59573d6000803e3d6000fd5b505050506040513d6020811015613c6f57600080fd5b5051835160028601546000908152600f87016020526040812054929350606484049091029181908190841015613d1c5760036001890154600160a01b900460ff166006811115613cbb57fe5b1415613cca5760019250613cfa565b60046001890154600160a01b900460ff166006811115613ce657fe5b1415613cf55760039250613cfa565b600592505b6001880180546002919060ff60a01b1916600160a01b835b0217905550613f63565b60036001890154600160a01b900460ff166006811115613d3857fe5b1415613dba576020870151600b890154420310613d735760018801805460ff60a01b1916600160a01b17905560028089018190559250613dba565b613d8588600501548960000154610b8e565b905080613d918b6135c9565b1115613dba5760018801805460ff60a01b1916600160a21b17905542600d890155600988018190555b60046001890154600160a01b900460ff166006811115613dd657fe5b1415613f6357613dee88600501548960000154610b8e565b6060880151909150600b890160020154420310613ed45780613e0f8b6135c9565b1115613eb35787546000908152600260205260409020546110001115613eae576001888101805460ff60a01b1916600560a01b17905542600c8a01558854600090815260026020818152604080842080549095019094558b54835260048152838320548282528484205492845260128d0190915292909120549193509083900381613e9657fe5b89546000908152600460205260409020919005830190555b613ecf565b6001880180546003919060ff60a01b1916600160a01b83613d12565b613f63565b6000613edf8b6135c9565b60098a0154909150613ef7908363ffffffff61324416565b8111613f175760018901805460ff60a01b1916600360a01b179055613f61565b8089600901541115613f6157600989018290556040805183815290518c917fad767d61af51c7895fa3cc0497dde01afb610c74e55ee4d8a71fa5e3ee136d54919081900360200190a25b505b60056001890154600160a01b900460ff166006811115613f7f57fe5b1480613fa4575060066001890154600160a01b900460ff166006811115613fa257fe5b145b15613fd4576004880154600c890154420310613fd45760018801805460ff60a01b1916600160a11b179055600492505b6000836005811115613fe257fe5b14614200576004836005811115613ff557fe5b148061400c5750600583600581111561400a57fe5b145b156140c757855160009081526002602052604090205461403390600163ffffffff61358716565b865160009081526002602052604080822092909255875181522054806140695788546000908152600460205260408120556140c5565b88546000908152600460209081526040808320546002845260128d019092529091205490935081906140a890612078866001850163ffffffff61325a16565b816140af57fe5b8a54600090815260046020526040902091900490555b505b87546000908152600360209081526040918290205460028b0154835190815291820188905282516001600160a01b03909116928d927f37471b9c9d295ffb1309ad070b8964700bfb7b555e8e8292d0b6cbc7dba35d10929081900390910190a3897f46a713b994c752c68fbefa9048bec9a0010cc7d933ad95a3c3dbb25931a167e7846040518082600581111561415a57fe5b60ff16815260200191505060405180910390a26001880154600289015460408051639d4c162d60e01b8152600481018e90526024810192909252516001600160a01b0390921691639d4c162d916044808201926020929091908290030181600087803b1580156141c957600080fd5b505af11580156141dd573d6000803e3d6000fd5b505050506040513d60208110156141f357600080fd5b5050600688015460078901555b6001880154600160a01b900460ff16600681111561421a57fe5b8660400151600681111561422a57fe5b1461428757897f21aca7f0285ccddeca2935074d3e36b5ab8fea0327f84cbbf12cf1b6d1a749f98960010160149054906101000a900460ff166040518082600681111561427357fe5b60ff16815260200191505060405180910390a25b600083600581111561429557fe5b14159a9950505050505050505050565b6000828202828482816142b457fe5b04146142ff576040805162461bcd60e51b81526020600482015260156024820152745265616c4d617468206d756c206f766572666c6f7760581b604482015290519081900360640190fd5b60281c9392505050565b600081836143955760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561435a578181015183820152602001614342565b50505050905090810190601f1680156143875780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816143a157fe5b0495945050505050565b600081848411156143fd5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561435a578181015183820152602001614342565b505050900390565b60008183101561325357816126d7565b6000816501000000000084028161442857fe5b049392505050565b604051806040016040528060008152602001600081525090565b604051806101a0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b604080516101c081018252600080825260208201819052909182019081526020016000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000815260200160008152602001600081526020016000815260200161452f61453c565b8152600060209091015290565b60405180606001604052806003906020820280368337509192915050565b8260038101928215614588579160200282015b8281111561458857825182559160200191906001019061456d565b50614594929150614598565b5090565b6112c891905b80821115614594576000815560010161459e56fe50726f706f73616c2073686f756c64206265204578656375746564206f722045787069726564496e517565756545434453413a20696e76616c6964207369676e6174757265202773272076616c7565626f6f73746564566f7465506572696f644c696d6974203e3d207175696574456e64696e67506572696f6445434453413a20696e76616c6964207369676e6174757265202776272076616c75653530203c3d20717565756564566f7465526571756972656450657263656e74616765203c3d20313030536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7770726f706f73616c20737461746520696e206e6f7420426f6f73746564206e6f72205175696574456e64696e67506572696f64a26469706673582212201f88af763ff0026dff92e989555b0268f0d3e0561e43bbcd3e819039df65174a64736f6c634300060a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102485760003560e01c806372f702f31161013b578063b4512913116100b8578063c8f526e81161007c578063c8f526e814610887578063cc3bf9e9146108dc578063e5af18c514610908578063e751f27114610925578063fb6c0cbb1461094257610248565b8063b4512913146107f0578063ba51b14e14610813578063bb5a05ed14610830578063beda80151461084d578063c08351061461086a57610248565b80639525c0cc116100ff5780639525c0cc146107865780639bc5689d14610347578063a003651d146107a5578063a05ea6e4146107c2578063b2449d65146107e857610248565b806372f702f31461069c57806379a1c1f6146106c057806380f5e0a11461070357806388737b5e146107205780638894c41b1461075a57610248565b806332ed5b12116101c95780635142bc1e1161018d5780635142bc1e146105fc57806351d997b21461060457806361d585da1461060c5780636359036b1461064d578063707437681461067957610248565b806332ed5b121461044d578063359afa49146104fb5780633c133818146105335780634047487314610550578063488c65fc1461056d57610248565b80631702ef0c116102105780631702ef0c146103c057806321b4b3dc146103dd5780632d598e58146103e55780632daedd521461040857806330ca0a531461044557610248565b8063025068041461024d57806307b4e1e3146102d85780630d48344214610347578063119ce91b1461034f57806316db517214610394575b600080fd5b61026a6004803603602081101561026357600080fd5b503561095f565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e08801526101008701526101208601526101408501526101608401526001600160a01b031661018083015251908190036101a00190f35b61033560048036036101808110156102ef57600080fd5b81019080806101600190600b806020026040519081016040528092919082600b602002808284376000920191909152509194505050356001600160a01b031690506109cf565b60408051918252519081900360200190f35b610335610ae0565b61037b6004803603604081101561036557600080fd5b50803590602001356001600160a01b0316610ae5565b6040805192835260208301919091528051918290030190f35b61037b600480360360408110156103aa57600080fd5b50803590602001356001600160a01b0316610b21565b610335600480360360208110156103d657600080fd5b5035610b76565b610335610b88565b610335600480360360408110156103fb57600080fd5b5080359060200135610b8e565b6104316004803603606081101561041e57600080fd5b5080359060208101359060400135610bdb565b604080519115158252519081900360200190f35b610335610c3e565b61046a6004803603602081101561046357600080fd5b5035610cea565b604080518e81526001600160a01b038e1660208201529081018c600681111561048f57fe5b60ff168152602081019b909b52506001600160a01b039098166040808b019190915260608a0197909752608089019590955260a088019390935260c087019190915260e08601526101008501526101208401529015156101408301525190819003610160019350915050f35b6104316004803603608081101561051157600080fd5b50803590602081013590604081013590606001356001600160a01b0316610d58565b6103356004803603602081101561054957600080fd5b5035610f07565b6103356004803603602081101561056657600080fd5b5035610f1c565b610431600480360360c081101561058357600080fd5b8135916020810135916040820135916060810135916080820135919081019060c0810160a08201356401000000008111156105bd57600080fd5b8201836020820111156105cf57600080fd5b803590602001918460018302840111640100000000831117156105f157600080fd5b509092509050610f94565b61037b6112bd565b6104316112c5565b6106296004803603602081101561062257600080fd5b50356112cb565b6040518082600681111561063957fe5b60ff16815260200191505060405180910390f35b61037b6004803603604081101561066357600080fd5b50803590602001356001600160a01b03166112eb565b6103356004803603604081101561068f57600080fd5b50803590602001356115ce565b6106a46115ef565b604080516001600160a01b039092168252519081900360200190f35b6106dd600480360360208110156106d657600080fd5b50356115fe565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6104316004803603602081101561071957600080fd5b5035611641565b6103356004803603608081101561073657600080fd5b508035906020810135906001600160a01b036040820135811691606001351661177e565b610335600480360361018081101561077157600080fd5b506001600160a01b036101608201351661178b565b6107a36004803603602081101561079c57600080fd5b5035611b78565b005b610335600480360360208110156107bb57600080fd5b5035611bd1565b610335600480360360208110156107d857600080fd5b50356001600160a01b0316611bd7565b610335611be9565b6103356004803603604081101561080657600080fd5b5080359060200135611bee565b6106a46004803603602081101561082957600080fd5b5035611c0f565b6103356004803603602081101561084657600080fd5b5035611c2a565b6103356004803603602081101561086357600080fd5b5035611c3c565b6104316004803603602081101561088057600080fd5b5035611e85565b6108a46004803603602081101561089d57600080fd5b5035611e90565b6040518082606080838360005b838110156108c95781810151838201526020016108b1565b5050505090500191505060405180910390f35b6108a4600480360360408110156108f257600080fd5b50803590602001356001600160a01b0316611edf565b6103356004803603602081101561091e57600080fd5b503561266c565b6104316004803603602081101561093b57600080fd5b5035612677565b6103356004803603602081101561095857600080fd5b50356126de565b600060208190529081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a8b0154600b8c0154600c909c01549a9b999a989997989697959694959394929391929091906001600160a01b03168d565b60008281602002015183600160200201518460026020020151856003602002015186600460200201518760056020020151886006602002015189600760200201518a600860200201518b600960200201518c600a6020020151604051602001808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001208260405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012090505b92915050565b600281565b60008281526001602090815260408083206001600160a01b038516845260110190915290205460f881901c906001600160801b03169250929050565b600080610b2c614430565b50505060009182526001602081815260408085206001600160a01b039490941685526013909301815292829020825180840190935280548084529101549190920181905260f81c91565b60009081526001602052604090205490565b60055481565b6000818152600260209081526040808320548584529183905282206005810154821115610bbd57806005015491505b6004810154610bd2908363ffffffff61272916565b95945050505050565b600083610be781612773565b610c32576040805162461bcd60e51b815260206004820152601760248201527670726f706f73616c206973206e6f7420766f7461626c6560481b604482015290519081900360640190fd5b610bd2858585336127e6565b604080517f616464726573732047656e6573697350726f746f636f6c41646472657373000060208083019190915271189e5d195ccccc88141c9bdc1bdcd85b125960721b603e8301526b75696e7432353620566f746560a01b60508301527475696e7432353620416d6f756e74546f5374616b6560581b605c8301526c75696e74323536204e6f6e636560981b60718301528251605e818403018152607e909201909252805191012081565b600160208190526000918252604090912080549181015460028201546003830154600484015460058501546006860154600787015460088801546009890154600a8a0154600e909a01546001600160a01b03808b169b60ff600160a01b909c048c169b99909116989091168d565b600084610d6481612773565b610daf576040805162461bcd60e51b815260206004820152601760248201527670726f706f73616c206973206e6f7420766f7461626c6560481b604482015290519081900360640190fd5b6000868152600160205260409020610dc561444a565b5060058082015460009081526020818152604080832081516101a0810183528154815260018201549381019390935260028101549183019190915260038101546060830152600481015460808301529283015460a0820152600683015460c0820152600783015460e082015260088301546101008201526009830154610120820152600a830154610140820152600b830154610160820152600c909201546001600160a01b0316610180830181905215610eeb578161018001516001600160a01b0316336001600160a01b031614610ee4576040805162461bcd60e51b815260206004820152601760248201527f766f746572206973206e6f7420617574686f72697a6564000000000000000000604482015290519081900360640190fd5b5084610eee565b50335b610efa89828a8a612c08565b9998505050505050505050565b60009081526001602052604090206002015490565b6000818152600160205260408120600a01546105dc908290610f4590839063ffffffff61324416565b600085815260016020818152604080842092845260129092019052902054909150610f8c90600a840290610f8090849063ffffffff61325a16565b9063ffffffff6132b316565b949350505050565b600087610fa081612773565b610feb576040805162461bcd60e51b815260206004820152601760248201527670726f706f73616c206973206e6f7420766f7461626c6560481b604482015290519081900360640190fd5b6000856002141561110d5750604080517f616464726573732047656e6573697350726f746f636f6c41646472657373000060208083019190915271189e5d195ccccc88141c9bdc1bdcd85b125960721b603e8301526b75696e7432353620566f746560a01b60508301527475696e7432353620416d6f756e74546f5374616b6560581b605c8301526c75696e74323536204e6f6e636560981b60718301528251605e818403018152607e830184528051908201203060601b609e84015260b283018d905260d283018c905260f283018b90526101128084018b905284518085039091018152610132840185528051908301206101528401919091526101728084019190915283518084039091018152610192909201909252805191012061115e565b604080513060601b602080830191909152603482018d9052605482018c9052607482018b905260948083018b90528351808403909101815260b4909201909252805191012061115b906132f5565b90505b60006111a886868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505063ffffffff613346169050565b90506001600160a01b038116611205576040805162461bcd60e51b815260206004820152601a60248201527f7374616b657220616464726573732063616e6e6f742062652030000000000000604482015290519081900360640190fd5b6001600160a01b038116600090815260076020526040902054881461125f576040805162461bcd60e51b815260206004820152600b60248201526a77726f6e67206e6f6e636560a81b604482015290519081900360640190fd5b6001600160a01b03811660009081526007602052604090205461128990600163ffffffff61352d16565b6001600160a01b0382166000908152600760205260409020556112ae8b8b8b846127e6565b9b9a5050505050505050505050565b600160029091565b60005b90565b60009081526001602081905260409091200154600160a01b900460ff1690565b6000828152600160205260408120819060026001820154600160a01b900460ff16600681111561131757fe5b14611369576040805162461bcd60e51b815260206004820152601960248201527f70726f706f73616c206e6f742065786563757465642079657400000000000000604482015290519081900360640190fd5b600281015460009081526012820160209081526040808320546001600160a01b03881684526013850190925290912060018101546001600160f81b0316158015906113be57506002830154600182015460f81c145b80156113ce575060018360020154145b80156113d957508115155b156113fe5781836007015482600101546001600160f81b031602816113fa57fe5b0493505b83158015906114935750600183015460065460408051636b8eb40360e01b81526001600160a01b039283166004820152602481018b9052905187939290921691636b8eb40391604480820192602092909190829003018186803b15801561146457600080fd5b505afa158015611478573d6000803e3d6000fd5b505050506040513d602081101561148e57600080fd5b505110155b156115c4576001810180546001600160f81b031916905560068301546114bf908563ffffffff61358716565b60068085019190915560018401549054604080516317d4ebe560e31b81526001600160a01b039283166004820152898316602482015260448101889052606481018b90529051919092169163bea75f289160848083019260209291908290030181600087803b15801561153157600080fd5b505af1158015611545573d6000803e3d6000fd5b505050506040513d602081101561155b57600080fd5b505161156657600080fd5b8254600090815260036020908152604091829020548251878152925196975087966001600160a01b03808b16949216928b927fb4a37163ec93e05e09b62e52f7f2ea8cfde431802edede7dfebe53d2ad969dbb929081900390910190a45b5050509250929050565b60009182526001602090815260408084209284526012909201905290205490565b6006546001600160a01b031681565b6000908152600160208181526040808420838552601081018352818520546002808752838720549587526012909201909352818520549085529320549093919291565b600061164b6144bb565b60008381526001602081815260409283902083516101c08101855281548152928101546001600160a01b038116928401929092529192830190600160a01b900460ff16600681111561169957fe5b60068111156116a457fe5b8152600282015460208201526003808301546001600160a01b0316604080840191909152600484015460608085019190915260058501546080850152600685015460a0850152600785015460c0850152600885015460e08501526009850154610100850152600a8501546101208501528151908101918290526101409093019291600b85019182845b81548152602001906001019080831161172d575050509183525050600e919091015460ff16151560209091015260c0810151815191925061176d91610b8e565b611776846135c9565b119392505050565b6000610bd284848461360a565b600060648335118015906117a157506032833510155b6117dc5760405162461bcd60e51b815260040180806020018281038252602981526020018061464f6029913960400191505060405180910390fd5b613e806080840135118015906117f757506103e86080840135115b611848576040805162461bcd60e51b815260206004820152601e60248201527f31303030203c207468726573686f6c64436f6e7374203c3d2031363030300000604482015290519081900360640190fd5b606460e084013511156118a2576040805162461bcd60e51b815260206004820181905260248201527f766f7465727352657075746174696f6e4c6f7373526174696f203c3d20313030604482015290519081900360640190fd5b60a0830135604084013510156118e95760405162461bcd60e51b815260040180806020018281038252602b815260200180614602602b913960400191505060405180910390fd5b610100830135611940576040805162461bcd60e51b815260206004820152601e60248201527f6d696e696d756d44616f426f756e74792073686f756c64206265203e20300000604482015290519081900360640190fd5b610120830135611997576040805162461bcd60e51b815260206004820152601c60248201527f64616f426f756e7479436f6e73742073686f756c64206265203e203000000000604482015290519081900360640190fd5b60006119cd84600b806020026040519081016040528092919082600b602002808284376000920191909152508691506109cf9050565b905060ac60026107d05b613e80811015611a1f576080870135811080156119fb575060028102608088013511155b15611a1157818381611a0957fe5b049250611a1f565b6001909101906002026119d7565b50604080516101a0810182528735815260208089013590820152878201359181019190915260608088013590820152608080820190611a6c908901356001600160d81b03166103e8613a09565b81526020810184905260a088810135604083015260c0808a0135606084015260e0808b013560808501526101008b0135928401929092526101208a0135908301520187600a6020908102919091013582526001600160a01b03978816918101919091526000858152808252604090819020835181559183015160018301558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160088201556101208201516009820155610140820151600a820155610160820151600b82015561018090910151600c90910180546001600160a01b0319169190961617909455509392505050565b80611b8281612773565b611bcd576040805162461bcd60e51b815260206004820152601760248201527670726f706f73616c206973206e6f7420766f7461626c6560481b604482015290519081900360640190fd5b5050565b50600290565b60076020526000908152604090205481565b600181565b6000918252600160209081526040808420928452600f909201905290205490565b6003602052600090815260409020546001600160a01b031681565b60046020526000908152604090205481565b600081815260016020526040812060056001820154600160a01b900460ff166006811115611c6657fe5b1480611c8b575060066001820154600160a01b900460ff166006811115611c8957fe5b145b611cc65760405162461bcd60e51b81526004018080602001828103825260338152602001806146996033913960400191505060405180910390fd5b611ccf83613a2c565b611d20576040805162461bcd60e51b815260206004820152601760248201527f70726f706f73616c206e65656420746f20657870697265000000000000000000604482015290519081900360640190fd5b611d4c611d3f600b83016001015460048401549063ffffffff61352d16565b429063ffffffff61358716565b600a820155611d5a83610f1c565b6008820154909250611d72908363ffffffff61358716565b60088201556006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015611dcb57600080fd5b505af1158015611ddf573d6000803e3d6000fd5b505050506040513d6020811015611df557600080fd5b5051611e48576040805162461bcd60e51b815260206004820152601d60248201527f7472616e7366657220746f206d73672e73656e646572206661696c6564000000604482015290519081900360640190fd5b604080518381529051339185917f7468017f6ff596af88244327e88fe691ac48cc1db88b033d11c335f2c7ccdd039181900360200190a350919050565b6000610ada82612773565b611e9861453c565b60008281526001602052604090819020815160608101909252600b0160038282826020028201915b815481526020019060010190808311611ec05750505050509050919050565b611ee761453c565b600083815260016020526040902060026001820154600160a01b900460ff166006811115611f1157fe5b1480611f355750600180820154600160a01b900460ff166006811115611f3357fe5b145b611f705760405162461bcd60e51b815260040180806020018281038252602d8152602001806145b3602d913960400191505060405180910390fd5b611f7861444a565b5060058082015460009081526020818152604080832081516101a081018352815481526001820154818501526002808301548285015260038301546060830152600483015460808301529582015460a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154610140820152600b820154610160820152600c909101546001600160a01b03908116610180830152881684526013860183528184209486015484526012860190925282205490929161208461204e89610f1c565b6001600090815260128801602052604080822054600283529120546120789163ffffffff61352d16565b9063ffffffff61358716565b83549091501561214b57600180860154600160a01b900460ff1660068111156120a957fe5b14156120b85782548652612146565b6002850154600184015460f81c14156121465760018381015460f81c14156121275780856007015410156121225760006120ff86600701548361358790919063ffffffff16565b84549091508390612116908363ffffffff61325a16565b8161211d57fe5b048752505b612146565b8254829061213b908363ffffffff61325a16565b8161214257fe5b0486525b600083555b600e85015460ff1615801561217b575084546000908152600360205260409020546001600160a01b038881169116145b80156121a05750600180860154600160a01b900460ff16600681111561219d57fe5b14155b80156121b0575060028560020154145b156122015760078501546121ef90612078846121d2838663ffffffff61325a16565b816121d957fe5b048960005b60200201519063ffffffff61352d16565b8652600e8501805460ff191660011790555b6001600160a01b03871660009081526011860160205260409020546001600160801b038116600160f783901c81161460f883901c82158015906122415750815b15612388576001808a0154600160a01b900460ff16600681111561226157fe5b14156122935760646122818961010001518561325a90919063ffffffff16565b8161228857fe5b0460208b015261236c565b8060ff168960020154141561236c57600060018a6002015414156122ca57506002600090815260108a0160205260409020546122df565b506001600090815260108a0160205260409020545b60646122f98a61010001518361325a90919063ffffffff16565b8161230057fe5b60028c0154600090815260108d01602052604090205491900491506123659061232f868463ffffffff61325a16565b8161233657fe5b0460646123518c61010001518861325a90919063ffffffff16565b8161235857fe5b049063ffffffff61352d16565b60208c0152505b6001600160a01b038b16600090815260118a0160205260408120555b60038901546001600160a01b038c811691161480156123ab575060018960020154145b80156123c3575060038901546001600160a01b031615155b156123e55760e088015160408b01526003890180546001600160a01b03191690555b89511561253857895160088a01546123fc91613587565b60088a01556006548a516040805163a9059cbb60e01b81526001600160a01b038f8116600483015260248201939093529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561245a57600080fd5b505af115801561246e573d6000803e3d6000fd5b505050506040513d602081101561248457600080fd5b50516124d7576040805162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b88546000908152600360205260408120546001600160a01b03808e16929116908e907f6d26871c9f457d104b2122485f659f126f7a0cf6938cf20482c03f49794a2fbf908e9060200201516040518082815260200191505060405180910390a45b60408a0151612549908b60016121de565b1561265d5760018901546001600160a01b031663d29b5d2f6125748c600260200201518d60016121de565b8d8f6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b1580156125cc57600080fd5b505af11580156125e0573d6000803e3d6000fd5b505050506040513d60208110156125f657600080fd5b505088546000908152600360205260409020546001600160a01b03808d1691168d7f7419b736daacf66d5c1645948c956fca2b83be1e2e02d486d65713f289d683b861264b8e600260200201518f60016121de565b60408051918252519081900360200190a45b50505050505050505092915050565b6000610ada826135c9565b60008161268381612773565b6126ce576040805162461bcd60e51b815260206004820152601760248201527670726f706f73616c206973206e6f7420766f7461626c6560481b604482015290519081900360640190fd5b6126d783613a2c565b9392505050565b60026020526000908152604090205481565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610f8c575050151592915050565b60008282650100000000005b8115610bd25781600116600114156127545761275181846142a5565b90505b60019190911c90811561276e5761276b83846142a5565b92505b612735565b600081815260016020819052604082200154600160a01b900460ff16600481600681111561279d57fe5b14806127b4575060058160068111156127b257fe5b145b806127ca575060068160068111156127c857fe5b145b806126d7575060038160068111156127de57fe5b149392505050565b6000600284111580156127f95750600084115b61283d576040805162461bcd60e51b815260206004820152601060248201526f77726f6e6720766f74652076616c756560801b604482015290519081900360640190fd5b60008311612892576040805162461bcd60e51b815260206004820152601b60248201527f7374616b696e6720616d6f756e742073686f756c64206265203e300000000000604482015290519081900360640190fd5b61289b85613a2c565b156128a857506001610f8c565b600085815260016020526040902060046001820154600160a01b900460ff1660068111156128d257fe5b141580156128fa575060036001820154600160a01b900460ff1660068111156128f757fe5b14155b15612909576000915050610f8c565b6001600160a01b0383166000908152601382016020526040902080541580159061293a5750600181015460f81c8614155b1561294a57600092505050610f8c565b600654604080516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018990529151889392909216916323b872dd916064808201926020929091908290030181600087803b1580156129a957600080fd5b505af11580156129bd573d6000803e3d6000fd5b505050506040513d60208110156129d357600080fd5b5051612a26576040805162461bcd60e51b815260206004820152601960248201527f6661696c207472616e736665722066726f6d207374616b657200000000000000604482015290519081900360640190fd5b6008830154612a3b908263ffffffff61352d16565b60088401558154612a52908263ffffffff61352d16565b808355600160801b1015612aad576040805162461bcd60e51b815260206004820152601a60248201527f7374616b696e6720616d6f756e7420697320746f6f2068696768000000000000604482015290519081900360640190fd5b6006830154612ac790600160801b9063ffffffff61358716565b83600801541115612b1f576040805162461bcd60e51b815260206004820152601860248201527f746f74616c207374616b657320697320746f6f20686967680000000000000000604482015290519081900360640190fd5b6001871415612b5757600182015460f888901b90612b4c906001600160f81b03168363ffffffff61352d16565b176001830155612b66565b60018201805460f889901b1790555b6000878152601284016020526040902054612b8890829063ffffffff61352d16565b60008881526012850160209081526040808320939093558554825260038152908290205482518a815291820189905282516001600160a01b03808a16949216928c927fd0239d7d4acf51def4507fa173be466927de5d75d8b10d840cd6994d6e10231092918290030190a4612bfc88613a2c565b98975050505050505050565b600060028311158015612c1b5750600083115b612c5d576040805162461bcd60e51b815260206004820152600e60248201526d18101e102fbb37ba32901e1e901960911b604482015290519081900360640190fd5b612c6685613a2c565b15612c7357506001610f8c565b612c7b61444a565b506000858152600160208181526040808420600580820154865285845282862083516101a0810185528154815281870154818701526002820154818601526003820154606082015260048083015460808301529282015460a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154610140820152600b820154610160820152600c909101546001600160a01b039081166101808301528c8852868652958301548451634ac41bc760e11b81528c881693810193909352602483018d905293519096929592949390921692639588378e92604480840193829003018186803b158015612d8257600080fd5b505afa158015612d96573d6000803e3d6000fd5b505050506040513d6020811015612dac57600080fd5b5051905080612e02576040805162461bcd60e51b815260206004820152601b60248201527f5f766f746572206d75737420686176652072657075746174696f6e0000000000604482015290519081900360640190fd5b84811015612e4c576040805162461bcd60e51b8152602060048201526012602482015271072657075746174696f6e203e3d205f7265760741b604482015290519081900360640190fd5b8480612e555750805b6001600160a01b038816600090815260118401602052604090205415612e82576000945050505050610f8c565b6000878152600f84016020526040902054612ea490829063ffffffff61352d16565b6000888152600f8501602052604080822083905560028601548252812054908990521080612efc57506002808401546000908152600f8501602052604080822054928252902054148015612efc575060018360020154145b1561300b5760056001840154600160a01b900460ff166006811115612f1d57fe5b148015612f3d575060c0840151604085015103600b840160010154420310155b80612f61575060066001840154600160a01b900460ff166006811115612f5f57fe5b145b156130035760066001840154600160a01b900460ff166006811115612f8257fe5b14612ffc5760c0840151600484015560018301805460ff60a01b1916600360a11b17908190556040518a917f21aca7f0285ccddeca2935074d3e36b5ab8fea0327f84cbbf12cf1b6d1a749f991600160a01b90910460ff169080826006811115612fe857fe5b60ff16815260200191505060405180910390a25b42600c8401555b600283018790555b6001600160801b03811660f888901b1760046001850154600160a01b900460ff16600681111561303757fe5b148061305c575060036001850154600160a01b900460ff16600681111561305a57fe5b145b1561306857600160f71b175b6001600160a01b0389166000908152601185016020526040902081905560046001850154600160a01b900460ff1660068111156130a157fe5b14806130c6575060036001850154600160a01b900460ff1660068111156130c457fe5b145b156131d15760008881526010850160205260409020546130ed90839063ffffffff61352d16565b600089815260108601602052604081209190915561010086015160649061311a908563ffffffff61325a16565b8161312157fe5b0490508460010160009054906101000a90046001600160a01b03166001600160a01b031663f81f8bf6828c8e6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b1580156131a357600080fd5b505af11580156131b7573d6000803e3d6000fd5b505050506040513d60208110156131cd57600080fd5b5050505b83546000908152600360209081526040918290205482518b815291820185905282516001600160a01b03808e16949216928e927f066c061a3792cb3eb64a441a928655fcbafb4a54b49725fe9cd2951df5e7189e92918290030190a46132368a613a2c565b9a9950505050505050505050565b600081831061325357816126d7565b5090919050565b60008261326957506000610ada565b8282028284828161327657fe5b04146126d75760405162461bcd60e51b81526004018080602001828103825260218152602001806146786021913960400191505060405180910390fd5b60006126d783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614309565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461339e576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561340f5760405162461bcd60e51b81526004018080602001828103825260228152602001806145e06022913960400191505060405180910390fd5b8060ff16601b1415801561342757508060ff16601c14155b156134635760405162461bcd60e51b815260040180806020018281038252602281526020018061462d6022913960400191505060405180910390fd5b60408051600080825260208083018085528a905260ff85168385015260608301879052608083018690529251909260019260a080820193601f1981019281900390910190855afa1580156134bb573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613523576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b9695505050505050565b6000828201838110156126d7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006126d783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506143ab565b600081815260016020818152604080842060028552601281019092528084205492845283205490916126d7916001600160d81b03169063ffffffff613a0916565b6000838152602081905260408120600b01544211613660576040805162461bcd60e51b815260206004820152600e60248201526d1b9bdd081858dd1a5d99481e595d60921b604482015290519081900360640190fd5b600084815260208190526040902054603211156136c4576040805162461bcd60e51b815260206004820152601960248201527f706172616d657465727320646f6573206e6f7420657869737400000000000000604482015290519081900360640190fd5b600554604080513060601b602080830191909152603480830185905283518084039091018152605490920190925280519101209061370990600163ffffffff61352d16565b6005556137146144bb565b33602082810182905260408051606093841b818401526bffffffffffffffffffffffff1988851b16603482015281516028818303018152604890910182528051908301208452600381850181905261018085015142905260008a815280845282812060029081015460a08801526001600160a01b038b811660808901529587015260c086018b905285518152925290205416613807576001600160a01b0384166137dd578051600090815260036020526040902080546001600160a01b03191633179055613807565b8051600090815260036020526040902080546001600160a01b0319166001600160a01b0386161790555b8051600090815260046020908152604080832054898452918390528220600a015461383e91606491610f809163ffffffff61325a16565b60008881526020819052604090206009015490915061386490829063ffffffff61440516565b60e0830152600083815260016020818152604092839020855181559085015191810180546001600160a01b0319166001600160a01b03909316929092178083559285015185939192909160ff60a01b1916600160a01b8360068111156138c657fe5b0217905550606082015160028201556080820151600380830180546001600160a01b0319166001600160a01b039093169290921790915560a0830151600483015560c0830151600583015560e08301516006830155610100830151600783015561012083015160088301556101408301516009830155610160830151600a83015561018083015161395c91600b8401919061455a565b506101a09190910151600e909101805460ff191691151591909117905560e08201516000848152600160209081526040808320600280855260129091018352818420949094558551835260038252918290205482519384526001600160a01b038a8116928501929092528383018b9052915191169185917f75b4ff136cc5de5957574c797de3334eb1c141271922b825eb071e0487ba2c5c916060908290030190a3509095945050505050565b60006126d76001600160d81b038085166501000000000090810291851602614415565b6000818152600160205260408120613a4261444a565b506005808201546000908152602081815260409182902082516101a0810184528154815260018201549281019290925260028101549282019290925260038201546060820152600482015460808201529181015460a0830152600681015460c0830152600781015460e083015260088101546101008301526009810154610120830152600a810154610140830152600b810154610160830152600c01546001600160a01b0316610180820152613af66144bb565b604080516101c0810182528454815260018501546001600160a01b03811660208301529091859190830190600160a01b900460ff166006811115613b3657fe5b6006811115613b4157fe5b8152600282015460208201526003808301546001600160a01b0316604080840191909152600484015460608085019190915260058501546080850152600685015460a0850152600785015460c0850152600885015460e08501526009850154610100850152600a8501546101208501528151908101918290526101409093019291600b85019182845b815481526020019060010190808311613bca575050509183525050600e919091015460ff16151560209182015260018501546040805163b551c37360e01b8152600481018a905290519394506000936001600160a01b039092169263b551c37392602480840193829003018186803b158015613c4557600080fd5b505afa158015613c59573d6000803e3d6000fd5b505050506040513d6020811015613c6f57600080fd5b5051835160028601546000908152600f87016020526040812054929350606484049091029181908190841015613d1c5760036001890154600160a01b900460ff166006811115613cbb57fe5b1415613cca5760019250613cfa565b60046001890154600160a01b900460ff166006811115613ce657fe5b1415613cf55760039250613cfa565b600592505b6001880180546002919060ff60a01b1916600160a01b835b0217905550613f63565b60036001890154600160a01b900460ff166006811115613d3857fe5b1415613dba576020870151600b890154420310613d735760018801805460ff60a01b1916600160a01b17905560028089018190559250613dba565b613d8588600501548960000154610b8e565b905080613d918b6135c9565b1115613dba5760018801805460ff60a01b1916600160a21b17905542600d890155600988018190555b60046001890154600160a01b900460ff166006811115613dd657fe5b1415613f6357613dee88600501548960000154610b8e565b6060880151909150600b890160020154420310613ed45780613e0f8b6135c9565b1115613eb35787546000908152600260205260409020546110001115613eae576001888101805460ff60a01b1916600560a01b17905542600c8a01558854600090815260026020818152604080842080549095019094558b54835260048152838320548282528484205492845260128d0190915292909120549193509083900381613e9657fe5b89546000908152600460205260409020919005830190555b613ecf565b6001880180546003919060ff60a01b1916600160a01b83613d12565b613f63565b6000613edf8b6135c9565b60098a0154909150613ef7908363ffffffff61324416565b8111613f175760018901805460ff60a01b1916600360a01b179055613f61565b8089600901541115613f6157600989018290556040805183815290518c917fad767d61af51c7895fa3cc0497dde01afb610c74e55ee4d8a71fa5e3ee136d54919081900360200190a25b505b60056001890154600160a01b900460ff166006811115613f7f57fe5b1480613fa4575060066001890154600160a01b900460ff166006811115613fa257fe5b145b15613fd4576004880154600c890154420310613fd45760018801805460ff60a01b1916600160a11b179055600492505b6000836005811115613fe257fe5b14614200576004836005811115613ff557fe5b148061400c5750600583600581111561400a57fe5b145b156140c757855160009081526002602052604090205461403390600163ffffffff61358716565b865160009081526002602052604080822092909255875181522054806140695788546000908152600460205260408120556140c5565b88546000908152600460209081526040808320546002845260128d019092529091205490935081906140a890612078866001850163ffffffff61325a16565b816140af57fe5b8a54600090815260046020526040902091900490555b505b87546000908152600360209081526040918290205460028b0154835190815291820188905282516001600160a01b03909116928d927f37471b9c9d295ffb1309ad070b8964700bfb7b555e8e8292d0b6cbc7dba35d10929081900390910190a3897f46a713b994c752c68fbefa9048bec9a0010cc7d933ad95a3c3dbb25931a167e7846040518082600581111561415a57fe5b60ff16815260200191505060405180910390a26001880154600289015460408051639d4c162d60e01b8152600481018e90526024810192909252516001600160a01b0390921691639d4c162d916044808201926020929091908290030181600087803b1580156141c957600080fd5b505af11580156141dd573d6000803e3d6000fd5b505050506040513d60208110156141f357600080fd5b5050600688015460078901555b6001880154600160a01b900460ff16600681111561421a57fe5b8660400151600681111561422a57fe5b1461428757897f21aca7f0285ccddeca2935074d3e36b5ab8fea0327f84cbbf12cf1b6d1a749f98960010160149054906101000a900460ff166040518082600681111561427357fe5b60ff16815260200191505060405180910390a25b600083600581111561429557fe5b14159a9950505050505050505050565b6000828202828482816142b457fe5b04146142ff576040805162461bcd60e51b81526020600482015260156024820152745265616c4d617468206d756c206f766572666c6f7760581b604482015290519081900360640190fd5b60281c9392505050565b600081836143955760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561435a578181015183820152602001614342565b50505050905090810190601f1680156143875780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816143a157fe5b0495945050505050565b600081848411156143fd5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561435a578181015183820152602001614342565b505050900390565b60008183101561325357816126d7565b6000816501000000000084028161442857fe5b049392505050565b604051806040016040528060008152602001600081525090565b604051806101a0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b604080516101c081018252600080825260208201819052909182019081526020016000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000815260200160008152602001600081526020016000815260200161452f61453c565b8152600060209091015290565b60405180606001604052806003906020820280368337509192915050565b8260038101928215614588579160200282015b8281111561458857825182559160200191906001019061456d565b50614594929150614598565b5090565b6112c891905b80821115614594576000815560010161459e56fe50726f706f73616c2073686f756c64206265204578656375746564206f722045787069726564496e517565756545434453413a20696e76616c6964207369676e6174757265202773272076616c7565626f6f73746564566f7465506572696f644c696d6974203e3d207175696574456e64696e67506572696f6445434453413a20696e76616c6964207369676e6174757265202776272076616c75653530203c3d20717565756564566f7465526571756972656450657263656e74616765203c3d20313030536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7770726f706f73616c20737461746520696e206e6f7420426f6f73746564206e6f72205175696574456e64696e67506572696f64a26469706673582212201f88af763ff0026dff92e989555b0268f0d3e0561e43bbcd3e819039df65174a64736f6c634300060a0033"
}