kleros-interaction-2
Version:
Smart contracts interacting with Kleros.
633 lines • 177 kB
JSON
{
"contractName": "MultiPartyInsurableArbitrableAgreementsProxy",
"abi": [
{
"constant": true,
"inputs": [
{
"name": "_agreementID",
"type": "bytes32"
}
],
"name": "getFeesInfo",
"outputs": [
{
"name": "ruling",
"type": "uint256[]"
},
{
"name": "_stake",
"type": "uint256[]"
},
{
"name": "totalValue",
"type": "uint256[]"
},
{
"name": "totalContributedPerSide",
"type": "uint256[2][]"
},
{
"name": "loserFullyFunded",
"type": "bool[]"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "arbitratorExtraData",
"outputs": [
{
"name": "",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "bytes32"
}
],
"name": "paidFees",
"outputs": [
{
"name": "firstContributionTime",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_agreementID",
"type": "bytes32"
},
{
"name": "_round",
"type": "uint256"
}
],
"name": "withdrawReward",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_disputeID",
"type": "uint256"
},
{
"name": "_ruling",
"type": "uint256"
}
],
"name": "rule",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "stake",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "feeGovernor",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_agreementID",
"type": "bytes32"
},
{
"name": "_side",
"type": "uint256"
}
],
"name": "fundDispute",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "arbitrator",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "fundDisputeCache",
"outputs": [
{
"name": "cost",
"type": "uint256"
},
{
"name": "appealing",
"type": "bool"
},
{
"name": "appealPeriodStart",
"type": "uint256"
},
{
"name": "appealPeriodEnd",
"type": "uint256"
},
{
"name": "appealPeriodSupported",
"type": "bool"
},
{
"name": "requiredValueForSide",
"type": "uint256"
},
{
"name": "expectedValue",
"type": "uint256"
},
{
"name": "stillRequiredValueForSide",
"type": "uint256"
},
{
"name": "keptValue",
"type": "uint256"
},
{
"name": "refundedValue",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_agreementID",
"type": "bytes32"
},
{
"name": "_round",
"type": "uint256"
},
{
"name": "_contributor",
"type": "address"
}
],
"name": "getContributions",
"outputs": [
{
"name": "contributions",
"type": "uint256[2]"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "bytes32"
}
],
"name": "agreements",
"outputs": [
{
"name": "creator",
"type": "address"
},
{
"name": "numberOfChoices",
"type": "uint256"
},
{
"name": "extraData",
"type": "bytes"
},
{
"name": "arbitrationFeesWaitingTime",
"type": "uint256"
},
{
"name": "arbitrator",
"type": "address"
},
{
"name": "disputeID",
"type": "uint256"
},
{
"name": "disputed",
"type": "bool"
},
{
"name": "appealed",
"type": "bool"
},
{
"name": "ruling",
"type": "uint256"
},
{
"name": "executed",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
},
{
"name": "",
"type": "uint256"
}
],
"name": "arbitratorAndDisputeIDToAgreementID",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_feeGovernor",
"type": "address"
}
],
"name": "changeFeeGovernor",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_agreementID",
"type": "bytes32"
}
],
"name": "getAgreementInfo",
"outputs": [
{
"name": "creator",
"type": "address"
},
{
"name": "parties",
"type": "address[]"
},
{
"name": "numberOfChoices",
"type": "uint256"
},
{
"name": "extraData",
"type": "bytes"
},
{
"name": "arbitrationFeesWaitingTime",
"type": "uint256"
},
{
"name": "arbitrator",
"type": "address"
},
{
"name": "disputeID",
"type": "uint256"
},
{
"name": "disputed",
"type": "bool"
},
{
"name": "appealed",
"type": "bool"
},
{
"name": "ruling",
"type": "uint256"
},
{
"name": "executed",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_agreementID",
"type": "bytes32"
},
{
"name": "_evidence",
"type": "string"
}
],
"name": "submitEvidence",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_stake",
"type": "uint256"
}
],
"name": "changeStake",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"name": "_arbitrator",
"type": "address"
},
{
"name": "_arbitratorExtraData",
"type": "bytes"
},
{
"name": "_feeGovernor",
"type": "address"
},
{
"name": "_stake",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_agreementID",
"type": "bytes32"
},
{
"indexed": true,
"name": "_round",
"type": "uint256"
},
{
"indexed": true,
"name": "_contributor",
"type": "address"
},
{
"indexed": false,
"name": "_value",
"type": "uint256"
}
],
"name": "Contribution",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_agreementID",
"type": "bytes32"
},
{
"indexed": true,
"name": "_round",
"type": "uint256"
},
{
"indexed": true,
"name": "_contributor",
"type": "address"
},
{
"indexed": false,
"name": "_value",
"type": "uint256"
}
],
"name": "RewardWithdrawal",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_metaEvidenceID",
"type": "uint256"
},
{
"indexed": false,
"name": "_evidence",
"type": "string"
}
],
"name": "MetaEvidence",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_arbitrator",
"type": "address"
},
{
"indexed": true,
"name": "_disputeID",
"type": "uint256"
},
{
"indexed": false,
"name": "_metaEvidenceID",
"type": "uint256"
}
],
"name": "Dispute",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_arbitrator",
"type": "address"
},
{
"indexed": true,
"name": "_disputeID",
"type": "uint256"
},
{
"indexed": true,
"name": "_party",
"type": "address"
},
{
"indexed": false,
"name": "_evidence",
"type": "string"
}
],
"name": "Evidence",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_arbitrator",
"type": "address"
},
{
"indexed": true,
"name": "_disputeID",
"type": "uint256"
},
{
"indexed": false,
"name": "_ruling",
"type": "uint256"
}
],
"name": "Ruling",
"type": "event"
},
{
"constant": false,
"inputs": [
{
"name": "_agreementID",
"type": "bytes32"
},
{
"name": "_metaEvidence",
"type": "string"
},
{
"name": "_parties",
"type": "address[]"
},
{
"name": "_numberOfChoices",
"type": "uint256"
},
{
"name": "_extraData",
"type": "bytes"
},
{
"name": "_arbitrationFeesWaitingTime",
"type": "uint256"
},
{
"name": "_arbitrator",
"type": "address"
}
],
"name": "createAgreement",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60806040523480156200001157600080fd5b50604051620034e0380380620034e0833981016040908152815160208084015192840151606085015160008054600160a060020a031916600160a060020a038616179055939094018051929490939092909185918591859185918391839187918791839183916200008891600191840190620000c0565b505060048054600160a060020a031916600160a060020a03969096169590951790945550506005555062000165975050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010357805160ff191683800117855562000133565b8280016001018555821562000133579182015b828111156200013357825182559160200191906001019062000116565b506200014192915062000145565b5090565b6200016291905b808211156200014157600081556001016200014c565b90565b61336b80620001756000396000f3006080604052600436106100fb5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b3b430d81146101005780630c7ac7b61461029957806313c2677a146103235780631961097b1461034d578063311a6c561461036a5780633a4b66f1146103855780634f4e1d891461039a5780636c18bb5b146103cb5780636cc6cde1146103d95780637f854a36146103ee5780638fee5e06146104535780639e1f68c7146104b5578063d7baa83d1461059f578063dcd8888b146105c3578063edde5ff4146105e4578063f3eb594f14610711578063f48a0b3114610760578063f7b2eb3f146107be575b600080fd5b34801561010c57600080fd5b506101186004356107d6565b60405180806020018060200180602001806020018060200186810386528b818151815260200191508051906020019060200280838360005b83811015610168578181015183820152602001610150565b5050505090500186810385528a818151815260200191508051906020019060200280838360005b838110156101a757818101518382015260200161018f565b50505050905001868103845289818151815260200191508051906020019060200280838360005b838110156101e65781810151838201526020016101ce565b505050509050018681038352888181518152602001915080516000925b8184101561024557602080850284010151604080838360005b8381101561023457818101518382015260200161021c565b505050509050019260010192610203565b89810385528a5181528a5160209182019450818c01935002905080838360005b8381101561027d578181015183820152602001610265565b505050509050019a505050505050505050505060405180910390f35b3480156102a557600080fd5b506102ae6109e7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102e85781810151838201526020016102d0565b50505050905090810190601f1680156103155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032f57600080fd5b5061033b600435610a74565b60408051918252519081900360200190f35b34801561035957600080fd5b50610368600435602435610a86565b005b34801561037657600080fd5b50610368600435602435610f6b565b34801561039157600080fd5b5061033b61105c565b3480156103a657600080fd5b506103af611062565b60408051600160a060020a039092168252519081900360200190f35b610368600435602435611071565b3480156103e557600080fd5b506103af6122e6565b3480156103fa57600080fd5b506104036122f5565b604080519a8b5298151560208b0152898901979097526060890195909552921515608088015260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b34801561045f57600080fd5b5061047a600435602435600160a060020a0360443516612320565b6040518082600260200280838360005b838110156104a257818101518382015260200161048a565b5050505090500191505060405180910390f35b3480156104c157600080fd5b506104cd600435612399565b60408051600160a060020a03808d16825260208083018d9052606083018b9052908916608083015260a0820188905286151560c083015285151560e083015261010082018590528315156101208301526101409282018381528b51938301939093528a519192916101608401918c019080838360005b8381101561055b578181015183820152602001610543565b50505050905090810190601f1680156105885780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b3480156105ab57600080fd5b5061033b600160a060020a036004351660243561248a565b3480156105cf57600080fd5b50610368600160a060020a03600435166124a7565b3480156105f057600080fd5b506105fc60043561255e565b60408051600160a060020a03808e1682529181018b90526080810189905290871660a082015260c0810186905284151560e0820152831515610100820152610120810183905281151561014082015261016060208083018281528d51928401929092528c5160608401916101808501918f8201910280838360005b8381101561068f578181015183820152602001610677565b5050505090500183810382528b818151815260200191508051906020019080838360005b838110156106cb5781810151838201526020016106b3565b50505050905090810190601f1680156106f85780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b34801561071d57600080fd5b506103686004803590602480358082019290810135916044358082019290810135916064359160843591820191013560a435600160a060020a0360c435166127f4565b34801561076c57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261036895833595369560449491939091019190819084018382808284375094975061289e9650505050505050565b3480156107ca57600080fd5b50610368600435612be1565b600081815260066020908152604091829020600181018054845181850281018501909552808552606094859485948594859491939290919083018282801561083d57602002820191906000526020600020905b815481526020019060010190808311610829575b505050505095508060020180548060200260200160405190810160405280929190818152602001828054801561089257602002820191906000526020600020905b81548152602001906001019080831161087e575b50505050509450806003018054806020026020016040519081016040528092919081815260200182805480156108e757602002820191906000526020600020905b8154815260200190600101908083116108d3575b5050505050935080600401805480602002602001604051908101604052809291908181526020016000905b828210156109625760008481526020902060408051808201918290529160028581029091019182845b81548152602001906001019080831161093b57505050505081526020019060010190610912565b505050509250806005018054806020026020016040519081016040528092919081815260200182805480156109d657602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116109a55790505b505050505091505091939590929450565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a6c5780601f10610a4157610100808354040283529160200191610a6c565b820191906000526020600020905b815481529060010190602001808311610a4f57829003601f168201915b505050505081565b60066020526000908152604090205481565b6000828152600260209081526040808320600690925282208154919290918190600160a060020a03161515610b07576040805160e560020a62461bcd02815260206004820152602760248201526000805160206133208339815191526044820152600080516020613300833981519152606482015290519081900360840190fd5b600784015460ff161580610bbd575060058401546006850154604080517f10f169e8000000000000000000000000000000000000000000000000000000008152600481019290925251600292600160a060020a0316916310f169e89160248083019260209291908290030181600087803b158015610b8457600080fd5b505af1158015610b98573d6000803e3d6000fd5b505050506040513d6020811015610bae57600080fd5b50516002811115610bbb57fe5b145b1515610c13576040805160e560020a62461bcd02815260206004820181905260248201527f5468652061677265656d656e74206973207374696c6c2064697370757465642e604482015290519081900360640190fd5b60028301548510610c94576040805160e560020a62461bcd02815260206004820152603e60248201527f5468652073706563696669656420726f756e64206f662074686520737065636960448201527f666965642061677265656d656e7420646f6573206e6f742065786973742e0000606482015290519081900360840190fd5b841580610ca8575060028301546000190185145b15610dbc5784151580610cc05750600784015460ff16155b1515610d62576040805160e560020a62461bcd02815260206004820152604c60248201527f5468657265206973206e6f7468696e6720746f2077697468647261772066726f60448201527f6d2074686520666972737420726f756e6420696620746865206469737075746560648201527f20776173207261697365642e0000000000000000000000000000000000000000608482015290519081900360a40190fd5b60068301805486908110610d7257fe5b600091825260208083203384529091019052604090206001015460068401805487908110610d9c57fe5b600091825260208083203384529091019052604081200154019150610eb5565b600884015460018401805487908110610dd157fe5b90600052602060002001541415610de9576001610dec565b60005b60ff1690508260040185815481101515610e0257fe5b906000526020600020906002020181600281101515610e1d57fe5b015415610eaf5760048301805486908110610e3457fe5b906000526020600020906002020181600281101515610e4f57fe5b015460068401805487908110610e6157fe5b600091825260208083203384529091019052604090208260028110610e8257fe5b015460038501805488908110610e9457fe5b906000526020600020015402811515610ea957fe5b04610eb2565b60005b91505b604080518082019091526000808252602082015260068401805487908110610ed957fe5b60009182526020808320338452909101905260409020610efa91600261314e565b50604051339083156108fc029084906000818181858888f19350505050158015610f28573d6000803e3d6000fd5b506040805183815290513391879189917f3af1589e5fc22e884f17d5fef298cf3ddc2cd21fa3d0ee55d7c1e7afc3697c6e919081900360200190a4505050505050565b33600081815260036020908152604080832086845282528083205483526002909152902060050154600160a060020a031614611017576040805160e560020a62461bcd02815260206004820152603160248201527f4120646973707574652063616e206f6e6c792062652072756c6564206f6e206260448201527f79206974732061726269747261746f722e000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a36110588282612c6e565b5050565b60055481565b600454600160a060020a031681565b600082815260026020908152604080832060069092529091208154600160a060020a031615156110ed576040805160e560020a62461bcd02815260206004820152602760248201526000805160206133208339815191526044820152600080516020613300833981519152606482015290519081900360840190fd5b600982015460ff1615611170576040805160e560020a62461bcd02815260206004820152603160248201527f596f752063616e6e6f742066756e6420646973707574657320666f722065786560448201527f63757465642061677265656d656e74732e000000000000000000000000000000606482015290519081900360840190fd5b600782015460ff161580611226575060058201546006830154604080517f10f169e8000000000000000000000000000000000000000000000000000000008152600481019290925251600192600160a060020a0316916310f169e89160248083019260209291908290030181600087803b1580156111ed57600080fd5b505af1158015611201573d6000803e3d6000fd5b505050506040513d602081101561121757600080fd5b5051600281111561122457fe5b145b15156112a2576040805160e560020a62461bcd02815260206004820152603860248201527f5468652061677265656d656e7420697320616c7265616479206469737075746560448201527f6420616e64206973206e6f742061707065616c61626c652e0000000000000000606482015290519081900360840190fd5b60018311156112fb576040805160e560020a62461bcd02815260206004820152601960248201527f546865726520617265206f6e6c792074776f2073696465732e00000000000000604482015290519081900360640190fd5b60003411611379576040805160e560020a62461bcd02815260206004820152602d60248201527f5468652076616c7565206f662074686520636f6e747269627574696f6e20636160448201527f6e6e6f74206265207a65726f2e00000000000000000000000000000000000000606482015290519081900360840190fd5b80541515611455574281556001808201805480830182556000918252602080832090910182905560055460028086018054808701825590855283852001919091556003850180548086018255908452828420018390556040805180820190915283815280830184905260048601805495860180825590855292909320919361140893908202909201919061314e565b50506005810180546001808201835560009283526020928390209282049092018054601f9092166101000a60ff021990911690556006820180549161144f91908301613191565b50611494565b600060078190556008805460ff19908116909155600a8290556009829055600b80549091169055600c819055600d819055600e819055600f8190556010555b6002810154600114156115d45760058201546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526003850180546002600019600183161561010002019091160460248401819052600160a060020a039094169363f7434ea9939192918291604490910190849080156115615780601f1061153657610100808354040283529160200191611561565b820191906000526020600020905b81548152906001019060200180831161154457829003601f168201915b505092505050602060405180830381600087803b15801561158157600080fd5b505af1158015611595573d6000803e3d6000fd5b505050506040513d60208110156115ab57600080fd5b505160075560048201548154420311156115cf576115ca846000612c8f565b6122e0565b611a0c565b60058201546006830154604080517ff23f16e600000000000000000000000000000000000000000000000000000000815260048101838152602482019283526003870180546002600019600183161561010002019091160460448401819052600160a060020a039096169563f23f16e695949193606401908490801561169b5780601f106116705761010080835404028352916020019161169b565b820191906000526020600020905b81548152906001019060200180831161167e57829003601f168201915b50509350505050602060405180830381600087803b1580156116bc57600080fd5b505af11580156116d0573d6000803e3d6000fd5b505050506040513d60208110156116e657600080fd5b50516007556008805460ff1916600117905560058201546006830154604080517fafe15cfb00000000000000000000000000000000000000000000000000000000815260048101929092528051600160a060020a039093169263afe15cfb9260248082019392918290030181600087803b15801561176357600080fd5b505af1158015611777573d6000803e3d6000fd5b505050506040513d604081101561178d57600080fd5b508051602090910151600a556009819055158015906117ad5750600a5415155b600b805460ff1916911515919091179081905560ff161561196657600954600a54600290829003040142101561185e578215611859576040805160e560020a62461bcd02815260206004820152603060248201527f497420697320746865206c6f73696e6720736964652773207475726e20746f2060448201527f66756e64207468652061707065616c2e00000000000000000000000000000000606482015290519081900360840190fd5b6115cf565b82600114801561189e5750600581018054600019810190811061187d57fe5b90600052602060002090602091828204019190069054906101000a900460ff165b15156115cf576040805160e560020a62461bcd02815260206004820152606260248201527f4974206973207468652077696e6e696e6720736964652773207475726e20746f60448201527f2066756e64207468652061707065616c2c206f6e6c7920696620746865206c6f60648201527f73696e67207369646520616c72656164792066756c6c792066756e646564206960848201527f742e00000000000000000000000000000000000000000000000000000000000060a482015290519081900360c40190fd5b600754341015611a0c576040805160e560020a62461bcd02815260206004820152604c60248201527f46656573206d757374206265207061696420696e2066756c6c2069662074686560448201527f2061726269747261746f7220646f6573206e6f7420737570706f72742060617060648201527f7065616c506572696f64602e0000000000000000000000000000000000000000608482015290519081900360a40190fd5b60085460ff161515611a275760075460029004600c55611b28565b600b5460ff161515611a3e57600754600c55611b28565b821515611a76576002810180546000198101908110611a5957fe5b600091825260209091200154600754600290910201600c55611b28565b6002810180546000198101908110611a8a57fe5b6000918252602090912001546004820180546000198101908110611aaa57fe5b600091825260208220600290910201015403600d8190556004820180546000198101908110611ad557fe5b60009182526020822060029091020101540160076000015411611afa57600d54611b24565b6004810180546000198101908110611b0e57fe5b6000918252602082206002909102010154600754035b600c555b600c546004820180546000198101908110611b3f57fe5b906000526020600020906002020184600281101515611b5a57fe5b015410611b6b576000600e55611ba4565b6004810180546000198101908110611b7f57fe5b906000526020600020906002020183600281101515611b9a57fe5b0154600c5403600e555b600e54341115611bb657600e54611bb8565b345b600f8190553481900360105560001015611c7057600f546003820180546000198101908110611be357fe5b600091825260209091200180549091019055600f546004820180546000198101908110611c0c57fe5b906000526020600020906002020184600281101515611c2757fe5b0180549091019055600f546006820180546000198101908110611c4657fe5b600091825260208083203384529091019052604090208460028110611c6757fe5b01805490910190555b60105460001015611cab57601054604051339180156108fc02916000818181858888f19350505050158015611ca9573d6000803e3d6000fd5b505b6002810154600f5460408051918252513392600019019187917fbd56b899e801b4dafced5be36852af735083cf687f72a7d69351ec0d2263ee889181900360200190a4600c546004820180546000198101908110611d0557fe5b906000526020600020906002020184600281101515611d2057fe5b0154101580611d3f575060085460ff168015611d3f5750600b5460ff16155b156122e05782158015611d8f575060085460ff16611d8857600c546004820180546000198101908110611d6e57fe5b600091825260209091206002909102016001015410611d8f565b600b5460ff165b15611e14576005810180546000198101908110611da857fe5b90600052602060002090602091828204019190069054906101000a900460ff1615156115ca57600581018054600191906000198101908110611de657fe5b90600052602060002090602091828204019190066101000a81548160ff0219169083151502179055506122e0565b60085460ff16151561200c57600c546004820180546000198101908110611e3757fe5b906000526020600020906002020184600014611e54576000611e57565b60015b60ff1660028110611e6457fe5b01541015611e71576122e0565b6005820154600754600280850154604080517fc13517e1000000000000000000000000000000000000000000000000000000008152600481018381526024820192835260038901805460001960018216156101000201169590950460448301819052600160a060020a039097169663c13517e196959391926064019084908015611f3c5780601f10611f1157610100808354040283529160200191611f3c565b820191906000526020600020905b815481529060010190602001808311611f1f57829003601f168201915b505093505050506020604051808303818588803b158015611f5c57600080fd5b505af1158015611f70573d6000803e3d6000fd5b50505050506040513d6020811015611f8757600080fd5b50516006830181815560078401805460ff19166001179055600584018054600160a060020a03908116600090815260036020908152604080832096835295815290859020899055925491548451898152945192949116927fc21357d76c2ee05713ed6e2edb9a5f60ab1e8748c56201385df30007f774f58d92918290030190a36121f0565b60058201546006830154604080517f1c3db16d000000000000000000000000000000000000000000000000000000008152600481019290925251600160a060020a0390921691631c3db16d916024808201926020929091908290030181600087803b15801561207a57600080fd5b505af115801561208e573d6000803e3d6000fd5b505050506040513d60208110156120a457600080fd5b505160018201805460001981019081106120ba57fe5b60009182526020909120015560058201546007546006840154604080517f49912f8800000000000000000000000000000000000000000000000000000000815260048101838152602482019283526003880180546002600019600183161561010002019091160460448401819052600160a060020a03909716966349912f88969594919360640190849080156121915780601f1061216657610100808354040283529160200191612191565b820191906000526020600020905b81548152906001019060200180831161217457829003601f168201915b505093505050506000604051808303818588803b1580156121b157600080fd5b505af11580156121c5573d6000803e3d6000fd5b505050506007830154610100900460ff16151590506121f05760078201805461ff0019166101001790555b600754600382018054600019810190811061220757fe5b6000918252602080832090910180549390930390925560018381018054808301825590835283832001829055600554600280860180548085018255908552858520019190915560038501805480840182559084528484200183905560408051808201909152838152808501849052600486018054938401808255908552949093206122979392820201919061314e565b50506005810180546001808201835560009283526020928390209282049092018054601f9092166101000a60ff02199091169055600682018054916122de91908301613191565b505b50505050565b600054600160a060020a031681565b600754600854600954600a54600b54600c54600d54600e54600f5460105460ff98891698909516948a565b6123286131ba565b60008481526006602081905260409091200180548490811061234657fe5b60009182526020808320600160a060020a03861684529190910190526040908190208151808301928390529160029082845b81548152602001906001019080831161237857505050505090509392505050565b60026020818152600092835260409283902080548184015460038301805487516101006001831615026000190190911696909604601f8101869004860287018601909752868652600160a060020a0390921695909492938301828280156124415780601f1061241657610100808354040283529160200191612441565b820191906000526020600020905b81548152906001019060200180831161242457829003601f168201915b5050506004840154600585015460068601546007870154600888015460099098015496979396600160a060020a03909316955090935060ff80821693610100909204811692168a565b600360209081526000928352604080842090915290825290205481565b600454600160a060020a0316331461252f576040805160e560020a62461bcd02815260206004820152602360248201527f5468652063616c6c6572206973206e6f74207468652066656520676f7665726e60448201527f6f722e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000818152600260209081526040808320805460019091018054835181860281018601909452808452600160a060020a039092169460609490938593859384938493849384938493849392908301828280156125e357602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116125c5575b50505050509950600260008d60001916600019168152602001908152602001600020600201549850600260008d600019166000191681526020019081526020016000206003018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126bd5780601f10612692576101008083540402835291602001916126bd565b820191906000526020600020905b8154815290600101906020018083116126a057829003601f168201915b50505050509750600260008d60001916600019168152602001908152602001600020600401549650600260008d6000191660001916815260200190815260200160002060050160009054906101000a9004600160a060020a03169550600260008d60001916600019168152602001908152602001600020600601549450600260008d6000191660001916815260200190815260200160002060070160009054906101000a900460ff169350600260008d6000191660001916815260200190815260200160002060070160019054906101000a900460ff169250600260008d60001916600019168152602001908152602001600020600801549150600260008d6000191660001916815260200190815260200160002060090160009054906101000a900460ff16905091939597999b90929496989a50565b6128928a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284375050604080516020601f8e018190048102820181019092528c81528e955093508c92508b9150819084018382808284378201915050505050508787612d28565b50505050505050505050565b6000828152600260205260408120548190600160a060020a03161515612910576040805160e560020a62461bcd02815260206004820152602760248201526000805160206133208339815191526044820152600080516020613300833981519152606482015290519081900360840190fd5b60008481526002602052604090206007015460ff1615156129a1576040805160e560020a62461bcd02815260206004820152602860248201527f546865207370656369666965642061677265656d656e74206973206e6f74206460448201527f697370757465642e000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600084815260026020526040902060070154610100900460ff1615612a36576040805160e560020a62461bcd02815260206004820152603260248201527f546865207370656369666965642061677265656d656e742068617320616c726560448201527f616479206265656e2061707065616c65642e0000000000000000000000000000606482015290519081900360840190fd5b5060009050805b600084815260026020526040902060010154811015612a9e576000848152600260205260409020600101805433919083908110612a7657fe5b600091825260209091200154600160a060020a03161415612a9657600191505b600101612a3d565b811515612b1b576040805160e560020a62461bcd02815260206004820152603560248201527f5468652073656e646572206973206e6f74206120706172747920696e2074686560448201527f207370656369666965642061677265656d656e742e0000000000000000000000606482015290519081900360840190fd5b600084815260026020908152604080832060068101546005909101548251848152885181860152885133969395600160a060020a03909316947fdccf2f8b2cc26eafcd61905cba744cff4b81d14740725f6376390dc6298a6a3c948b94849392840192908601918190849084905b83811015612ba1578181015183820152602001612b89565b50505050905090810190601f168015612bce5780820380516001836020036101000a031916815260200191505b509250505060405180910390a450505050565b600454600160a060020a03163314612c69576040805160e560020a62461bcd02815260206004820152602360248201527f5468652063616c6c6572206973206e6f74207468652066656520676f7665726e60448201527f6f722e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600555565b33600090815260036020908152604080832085845290915290205461105890825b612c998282613041565b6000828152600260205260408082205481517fe615e31300000000000000000000000000000000000000000000000000000000815260048101869052602481018590529151600160a060020a039091169263e615e313926044808201939182900301818387803b158015612d0c57600080fd5b505af1158015612d20573d6000803e3d6000fd5b505050505050565b600087815260026020526040902054600160a060020a031615612dbb576040805160e560020a62461bcd02815260206004820152603060248201527f54686520737570706c6965642061677265656d656e7420494420697320616c7260448201527f65616479206265696e6720757365642e00000000000000000000000000000000606482015290519081900360840190fd5b8451600a1015612e3b576040805160e560020a62461bcd02815260206004820152602560248201527f54686572652063616e6e6f74206265206d6f7265207468616e2031302070617260448201527f746965732e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080516101608101825233815260208082018881528284018890526060830187905260808301869052600160a060020a0385811660a0850152600060c0850181905260e085018190526101008501819052610120850181905261014085018190528c815260028452949094208351815473ffffffffffffffffffffffffffffffffffffffff19169516949094178455518051929392612ee192600185019201906131d5565b506040820151600282015560608201518051612f07916003840191602090910190613243565b506080820151600482015560a082015160058201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905560c0820151600682015560e08201516007820180546101008086015160ff199283169415159490941761ff001916931515029290921790556101208301516008830155610140909201516009909101805490921690151517905560408051602080825288518183015288518a937f61606860eb6c87306811e2695215385101daab53bd6ab4e9f9049aead9363c7d938b939092839283019185019080838360005b83811015612ffe578181015183820152602001612fe6565b50505050905090810190601f16801561302b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a250505050505050565b60008281526002602052604090208054600160a060020a031615156130b2576040805160e560020a62461bcd02815260206004820152602760248201526000805160206133208339815191526044820152600080516020613300833981519152606482015290519081900360840190fd5b600981015460ff1615613135576040805160e560020a62461bcd02815260206004820152603260248201527f546865207370656369666965642061677265656d656e742068617320616c726560448201527f616479206265656e2065786563757465642e0000000000000000000000000000606482015290519081900360840190fd5b6008810191909155600901805460ff1916600117905550565b8260028101928215613181579160200282015b82811115613181578251829060ff16905591602001919060010190613161565b5061318d9291506132b1565b5090565b8154818355818111156131b5576000838152602090206131b591810190830161318d565b505050565b60408051808201825290600290829080388339509192915050565b828054828255906000526020600020908101928215613237579160200282015b82811115613237578251825473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039091161782556020909201916001909101906131f5565b5061318d9291506132ce565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061328457805160ff1916838001178555613181565b82800160010185558215613181579182015b82811115613181578251825591602001919060010190613296565b6132cb91905b8082111561318d57600081556001016132b7565b90565b6132cb91905b8082111561318d57805473ffffffffffffffffffffffffffffffffffffffff191681556001016132d456002065786973742e00000000000000000000000000000000000000000000000000546865207370656369666965642061677265656d656e7420646f6573206e6f74a165627a7a72305820c6521fcb3bd49144fd8b335d2725ffc3ae88a17655fe406de6dd1240378808510029",
"deployedBytecode": "0x6080604052600436106100fb5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b3b430d81146101005780630c7ac7b61461029957806313c2677a146103235780631961097b1461034d578063311a6c561461036a5780633a4b66f1146103855780634f4e1d891461039a5780636c18bb5b146103cb5780636cc6cde1146103d95780637f854a36146103ee5780638fee5e06146104535780639e1f68c7146104b5578063d7baa83d1461059f578063dcd8888b146105c3578063edde5ff4146105e4578063f3eb594f14610711578063f48a0b3114610760578063f7b2eb3f146107be575b600080fd5b34801561010c57600080fd5b506101186004356107d6565b60405180806020018060200180602001806020018060200186810386528b818151815260200191508051906020019060200280838360005b83811015610168578181015183820152602001610150565b5050505090500186810385528a818151815260200191508051906020019060200280838360005b838110156101a757818101518382015260200161018f565b50505050905001868103845289818151815260200191508051906020019060200280838360005b838110156101e65781810151838201526020016101ce565b505050509050018681038352888181518152602001915080516000925b8184101561024557602080850284010151604080838360005b8381101561023457818101518382015260200161021c565b505050509050019260010192610203565b89810385528a5181528a5160209182019450818c01935002905080838360005b8381101561027d578181015183820152602001610265565b505050509050019a505050505050505050505060405180910390f35b3480156102a557600080fd5b506102ae6109e7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102e85781810151838201526020016102d0565b50505050905090810190601f1680156103155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032f57600080fd5b5061033b600435610a74565b60408051918252519081900360200190f35b34801561035957600080fd5b50610368600435602435610a86565b005b34801561037657600080fd5b50610368600435602435610f6b565b34801561039157600080fd5b5061033b61105c565b3480156103a657600080fd5b506103af611062565b60408051600160a060020a039092168252519081900360200190f35b610368600435602435611071565b3480156103e557600080fd5b506103af6122e6565b3480156103fa57600080fd5b506104036122f5565b604080519a8b5298151560208b0152898901979097526060890195909552921515608088015260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b34801561045f57600080fd5b5061047a600435602435600160a060020a0360443516612320565b6040518082600260200280838360005b838110156104a257818101518382015260200161048a565b5050505090500191505060405180910390f35b3480156104c157600080fd5b506104cd600435612399565b60408051600160a060020a03808d16825260208083018d9052606083018b9052908916608083015260a0820188905286151560c083015285151560e083015261010082018590528315156101208301526101409282018381528b51938301939093528a519192916101608401918c019080838360005b8381101561055b578181015183820152602001610543565b50505050905090810190601f1680156105885780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b3480156105ab57600080fd5b5061033b600160a060020a036004351660243561248a565b3480156105cf57600080fd5b50610368600160a060020a03600435166124a7565b3480156105f057600080fd5b506105fc60043561255e565b60408051600160a060020a03808e1682529181018b90526080810189905290871660a082015260c0810186905284151560e0820152831515610100820152610120810183905281151561014082015261016060208083018281528d51928401929092528c5160608401916101808501918f8201910280838360005b8381101561068f578181015183820152602001610677565b5050505090500183810382528b818151815260200191508051906020019080838360005b838110156106cb5781810151838201526020016106b3565b50505050905090810190601f1680156106f85780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b34801561071d57600080fd5b506103686004803590602480358082019290810135916044358082019290810135916064359160843591820191013560a435600160a060020a0360c435166127f4565b34801561076c57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261036895833595369560449491939091019190819084018382808284375094975061289e9650505050505050565b3480156107ca57600080fd5b50610368600435612be1565b600081815260066020908152604091829020600181018054845181850281018501909552808552606094859485948594859491939290919083018282801561083d57602002820191906000526020600020905b815481526020019060010190808311610829575b505050505095508060020180548060200260200160405190810160405280929190818152602001828054801561089257602002820191906000526020600020905b81548152602001906001019080831161087e575b50505050509450806003018054806020026020016040519081016040528092919081815260200182805480156108e757602002820191906000526020600020905b8154815260200190600101908083116108d3575b5050505050935080600401805480602002602001604051908101604052809291908181526020016000905b828210156109625760008481526020902060408051808201918290529160028581029091019182845b81548152602001906001019080831161093b57505050505081526020019060010190610912565b505050509250806005018054806020026020016040519081016040528092919081815260200182805480156109d657602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116109a55790505b505050505091505091939590929450565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a6c5780601f10610a4157610100808354040283529160200191610a6c565b820191906000526020600020905b815481529060010190602001808311610a4f57829003601f168201915b505050505081565b60066020526000908152604090205481565b6000828152600260209081526040808320600690925282208154919290918190600160a060020a03161515610b07576040805160e560020a62461bcd02815260206004820152602760248201526000805160206133208339815191526044820152600080516020613300833981519152606482015290519081900360840190fd5b600784015460ff161580610bbd575060058401546006850154604080517f10f169e8000000000000000000000000000000000000000000000000000000008152600481019290925251600292600160a060020a0316916310f169e89160248083019260209291908290030181600087803b158015610b8457600080fd5b505af1158015610b98573d6000803e3d6000fd5b505050506040513d6020811015610bae57600080fd5b50516002811115610bbb57fe5b145b1515610c13576040805160e560020a62461bcd02815260206004820181905260248201527f5468652061677265656d656e74206973207374696c6c2064697370757465642e604482015290519081900360640190fd5b60028301548510610c94576040805160e560020a62461bcd02815260206004820152603e60248201527f5468652073706563696669656420726f756e64206f662074686520737065636960448201527f666965642061677265656d656e7420646f6573206e6f742065786973742e0000606482015290519081900360840190fd5b841580610ca8575060028301546000190185145b15610dbc5784151580610cc05750600784015460ff16155b1515610d62576040805160e560020a62461bcd02815260206004820152604c60248201527f5468657265206973206e6f7468696e6720746f2077697468647261772066726f60448201527f6d2074686520666972737420726f756e6420696620746865206469737075746560648201527f20776173207261697365642e0000000000000000000000000000000000000000608482015290519081900360a40190fd5b60068301805486908110610d7257fe5b600091825260208083203384529091019052604090206001015460068401805487908110610d9c57fe5b600091825260208083203384529091019052604081200154019150610eb5565b600884015460018401805487908110610dd157fe5b90600052602060002001541415610de9576001610dec565b60005b60ff1690508260040185815481101515610e0257fe5b906000526020600020906002020181600281101515610e1d57fe5b015415610eaf5760048301805486908110610e3457fe5b906000526020600020906002020181600281101515610e4f57fe5b015460068401805487908110610e6157fe5b600091825260208083203384529091019052604090208260028110610e8257fe5b015460038501805488908110610e9457fe5b906000526020600020015402811515610ea957fe5b04610eb2565b60005b91505b604080518082019091526000808252602082015260068401805487908110610ed957fe5b60009182526020808320338452909101905260409020610efa91600261314e565b50604051339083156108fc029084906000818181858888f19350505050158015610f28573d6000803e3d6000fd5b506040805183815290513391879189917f3af1589e5fc22e884f17d5fef298cf3ddc2cd21fa3d0ee55d7c1e7afc3697c6e919081900360200190a4505050505050565b33600081815260036020908152604080832086845282528083205483526002909152902060050154600160a060020a031614611017576040805160e560020a62461bcd02815260206004820152603160248201527f4120646973707574652063616e206f6e6c792062652072756c6564206f6e206260448201527f79206974732061726269747261746f722e000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a36110588282612c6e565b5050565b60055481565b600454600160a060020a031681565b600082815260026020908152604080832060069092529091208154600160a060020a031615156110ed576040805160e560020a62461bcd02815260206004820152602760248201526000805160206133208339815191526044820152600080516020613300833981519152606482015290519081900360840190fd5b600982015460ff1615611170576040805160e560020a62461bcd02815260206004820152603160248201527f596f752063616e6e6f742066756e6420646973707574657320666f722065786560448201527f63757465642061677265656d656e74732e000000000000000000000000000000606482015290519081900360840190fd5b600782015460ff161580611226575060058201546006830154604080517f10f169e8000000000000000000000000000000000000000000000000000000008152600481019290925251600192600160a060020a0316916310f169e89160248083019260209291908290030181600087803b1580156111ed57600080fd5b505af1158015611201573d6000803e3d6000fd5b505050506040513d602081101561121757600080fd5b5051600281111561122457fe5b145b15156112a2576040805160e560020a62461bcd02815260206004820152603860248201527f5468652061677265656d656e7420697320616c7265616479206469737075746560448201527f6420616e64206973206e6f742061707065616c61626c652e0000000000000000606482015290519081900360840190fd5b60018311156112fb576040805160e560020a62461bcd02815260206004820152601960248201527f546865726520617265206f6e6c792074776f2073696465732e00000000000000604482015290519081900360640190fd5b60003411611379576040805160e560020a62461bcd02815260206004820152602d60248201527f5468652076616c7565206f662074686520636f6e747269627574696f6e20636160448201527f6e6e6f74206265207a65726f2e00000000000000000000000000000000000000606482015290519081900360840190fd5b80541515611455574281556001808201805480830182556000918252602080832090910182905560055460028086018054808701825590855283852001919091556003850180548086018255908452828420018390556040805180820190915283815280830184905260048601805495860180825590855292909320919361140893908202909201919061314e565b5050600581