{
	"targets": {
		"SafeDecimalMath": {
			"name": "SafeDecimalMath",
			"address": "0x674F2407cE710B93ADE35D7F0c9076d935a4aA5d",
			"source": "SafeDecimalMath",
			"link": "https://testnet.etherscan.io/address/0x674F2407cE710B93ADE35D7F0c9076d935a4aA5d",
			"timestamp": "2021-07-07T02:15:12.547Z",
			"txn": "",
			"network": "testnet"
		},
		"Math": {
			"name": "Math",
			"address": "0xE2144C4e067153E93aD9e6901C6C1BDA6A0e7592",
			"source": "Math",
			"link": "https://testnet.etherscan.io/address/0xE2144C4e067153E93aD9e6901C6C1BDA6A0e7592",
			"timestamp": "2021-07-07T02:15:18.625Z",
			"txn": "",
			"network": "testnet"
		},
		"AddressResolver": {
			"name": "AddressResolver",
			"address": "0x1Ba83008F828fB83D59f24c10472cf2C065a31F1",
			"source": "AddressResolver",
			"link": "https://testnet.etherscan.io/address/0x1Ba83008F828fB83D59f24c10472cf2C065a31F1",
			"timestamp": "2021-07-07T16:42:20.233Z",
			"txn": "",
			"network": "testnet"
		},
		"ReadProxyAddressResolver": {
			"name": "ReadProxyAddressResolver",
			"address": "0x6F06aD50b156a1EB136924A821dA732474d70eB1",
			"source": "ReadProxy",
			"link": "https://testnet.etherscan.io/address/0x6F06aD50b156a1EB136924A821dA732474d70eB1",
			"timestamp": "2021-07-07T16:09:47.954Z",
			"txn": "",
			"network": "testnet"
		},
		"SystemStatus": {
			"name": "SystemStatus",
			"address": "0x6Bb0518C3C310a08B7A0c4f10894c28CC8cd4EC8",
			"source": "SystemStatus",
			"link": "https://testnet.etherscan.io/address/0x6Bb0518C3C310a08B7A0c4f10894c28CC8cd4EC8",
			"timestamp": "2021-07-07T02:15:45.741Z",
			"txn": "",
			"network": "testnet"
		},
		"ExchangeRates": {
			"name": "ExchangeRates",
			"address": "0x095f440706592A2354C844AEED169297b10b2CF9",
			"source": "ExchangeRates",
			"link": "https://testnet.etherscan.io/address/0x095f440706592A2354C844AEED169297b10b2CF9",
			"timestamp": "2021-07-07T02:21:58.000Z",
			"txn": "https://testnet.bscscan.com/tx/0x74e33b1bac2512afd032e5271c2515a5a12e3998963f7062d5b66f65a509ccbd",
			"network": "testnet"
		},
		"RewardEscrow": {
			"name": "RewardEscrow",
			"address": "0xe380728aCff0eA53019C3be38F6942E4b4791E09",
			"source": "RewardEscrow",
			"link": "https://testnet.etherscan.io/address/0xe380728aCff0eA53019C3be38F6942E4b4791E09",
			"timestamp": "2021-07-07T02:17:05.880Z",
			"txn": "",
			"network": "testnet"
		},
		"OikosEscrow": {
			"name": "OikosEscrow",
			"address": "0x417F66eEd9e29c9CeEd613DED0F93B63F8A4Fb67",
			"source": "OikosEscrow",
			"link": "https://testnet.etherscan.io/address/0x417F66eEd9e29c9CeEd613DED0F93B63F8A4Fb67",
			"timestamp": "2021-07-07T02:17:11.986Z",
			"txn": "",
			"network": "testnet"
		},
		"OikosState": {
			"name": "OikosState",
			"address": "0x9233c5f7CD4774C50D4982807Edf96A8da826287",
			"source": "OikosState",
			"link": "https://testnet.etherscan.io/address/0x9233c5f7CD4774C50D4982807Edf96A8da826287",
			"timestamp": "2021-07-07T02:17:18.074Z",
			"txn": "",
			"network": "testnet"
		},
		"ProxyFeePool": {
			"name": "ProxyFeePool",
			"address": "0x47710eCD9F0B16D913DCf27b62360acD01209cC2",
			"source": "Proxy",
			"link": "https://testnet.etherscan.io/address/0x47710eCD9F0B16D913DCf27b62360acD01209cC2",
			"timestamp": "2021-07-07T02:17:24.159Z",
			"txn": "",
			"network": "testnet"
		},
		"DelegateApprovalsEternalStorage": {
			"name": "DelegateApprovalsEternalStorage",
			"address": "0x0c450C30d0a75f1e366a57F5C746B382DDA11c8F",
			"source": "EternalStorage",
			"link": "https://testnet.etherscan.io/address/0x0c450C30d0a75f1e366a57F5C746B382DDA11c8F",
			"timestamp": "2021-07-07T02:17:33.257Z",
			"txn": "",
			"network": "testnet"
		},
		"DelegateApprovals": {
			"name": "DelegateApprovals",
			"address": "0x3F4973a31E5e4eFDaBD177488e81A36D2A1dB7f1",
			"source": "DelegateApprovals",
			"link": "https://testnet.etherscan.io/address/0x3F4973a31E5e4eFDaBD177488e81A36D2A1dB7f1",
			"timestamp": "2021-07-07T02:17:39.402Z",
			"txn": "",
			"network": "testnet"
		},
		"Liquidations": {
			"name": "Liquidations",
			"address": "0x806C9E99558368a042Ed254D65149108f33193d7",
			"source": "Liquidations",
			"link": "https://testnet.etherscan.io/address/0x806C9E99558368a042Ed254D65149108f33193d7",
			"timestamp": "2021-07-07T02:17:51.156Z",
			"txn": "",
			"network": "testnet"
		},
		"EternalStorageLiquidations": {
			"name": "EternalStorageLiquidations",
			"address": "0x07CB84A02b613cf81eC2A219153666FDaEdF01c4",
			"source": "EternalStorage",
			"link": "https://testnet.etherscan.io/address/0x07CB84A02b613cf81eC2A219153666FDaEdF01c4",
			"timestamp": "2021-07-07T02:18:00.255Z",
			"txn": "",
			"network": "testnet"
		},
		"FeePoolEternalStorage": {
			"name": "FeePoolEternalStorage",
			"address": "0x03a3E40a3a7DDa8be05872e3c32c420aF9FE1e65",
			"source": "FeePoolEternalStorage",
			"link": "https://testnet.etherscan.io/address/0x03a3E40a3a7DDa8be05872e3c32c420aF9FE1e65",
			"timestamp": "2021-07-07T16:54:20.264Z",
			"txn": "",
			"network": "testnet"
		},
		"FeePool": {
			"name": "FeePool",
			"address": "0x19ec46DD379f3e4C1Db0aA335C37140124D7c71c",
			"source": "FeePool",
			"link": "https://testnet.etherscan.io/address/0x19ec46DD379f3e4C1Db0aA335C37140124D7c71c",
			"timestamp": "2021-07-07T16:54:27.114Z",
			"txn": "",
			"network": "testnet"
		},
		"FeePoolState": {
			"name": "FeePoolState",
			"address": "0x44CEa6Dd85fBf017a325823b3941E1632d0c1742",
			"source": "FeePoolState",
			"link": "https://testnet.etherscan.io/address/0x44CEa6Dd85fBf017a325823b3941E1632d0c1742",
			"timestamp": "2021-07-07T16:54:47.477Z",
			"txn": "",
			"network": "testnet"
		},
		"RewardsDistribution": {
			"name": "RewardsDistribution",
			"address": "0xcc599Ed8e58e19cc439F6f8Bb04FA2e725B239b8",
			"source": "RewardsDistribution",
			"link": "https://testnet.etherscan.io/address/0xcc599Ed8e58e19cc439F6f8Bb04FA2e725B239b8",
			"timestamp": "2021-07-07T02:18:39.532Z",
			"txn": "",
			"network": "testnet"
		},
		"SupplySchedule": {
			"name": "SupplySchedule",
			"address": "0xeAd83458CA5F7C9bFb298CCDc2f53099231F2Ba1",
			"source": "SupplySchedule",
			"link": "https://testnet.etherscan.io/address/0xeAd83458CA5F7C9bFb298CCDc2f53099231F2Ba1",
			"timestamp": "2021-07-07T02:18:45.622Z",
			"txn": "",
			"network": "testnet"
		},
		"ProxyERC20": {
			"name": "ProxyERC20",
			"address": "0x556bD413B1146b4dcbf21E2701702bF573854635",
			"source": "ProxyERC20",
			"link": "https://testnet.etherscan.io/address/0x556bD413B1146b4dcbf21E2701702bF573854635",
			"timestamp": "2021-07-07T02:18:54.495Z",
			"txn": "",
			"network": "testnet"
		},
		"TokenStateOikos": {
			"name": "TokenStateOikos",
			"address": "0x341a8467F3bcf5387e80b29da1D668F373cFc5E4",
			"source": "TokenState",
			"link": "https://testnet.etherscan.io/address/0x341a8467F3bcf5387e80b29da1D668F373cFc5E4",
			"timestamp": "2021-07-07T02:19:00.060Z",
			"txn": "",
			"network": "testnet"
		},
		"Oikos": {
			"name": "Oikos",
			"address": "0xeE6c125968B1d53508E574E598974cc53a883a26",
			"source": "Oikos",
			"link": "https://testnet.etherscan.io/address/0xeE6c125968B1d53508E574E598974cc53a883a26",
			"timestamp": "2021-07-07T15:47:47.995Z",
			"txn": "",
			"network": "testnet"
		},
		"ProxyOikos": {
			"name": "ProxyOikos",
			"address": "0x448A0c2e1887F6872d90562c37dC7426E9E8cF04",
			"source": "Proxy",
			"link": "https://testnet.etherscan.io/address/0x448A0c2e1887F6872d90562c37dC7426E9E8cF04",
			"timestamp": "2021-07-07T02:19:11.922Z",
			"txn": "",
			"network": "testnet"
		},
		"Exchanger": {
			"name": "Exchanger",
			"address": "0x66fF0696D58AF90f13f382143f8d79A4Fe1Ef0d4",
			"source": "Exchanger",
			"link": "https://testnet.etherscan.io/address/0x66fF0696D58AF90f13f382143f8d79A4Fe1Ef0d4",
			"timestamp": "2021-07-07T02:25:34.000Z",
			"txn": "https://testnet.bscscan.com/tx/0xbd4754c4b58b7c7795f1b50b178f18c0a3643085c4ef83cc42e305a7ca29f6ea",
			"network": "testnet"
		},
		"ExchangeState": {
			"name": "ExchangeState",
			"address": "0x4B0AcfF0518042f11aB6C78c6F6DC998a3c7b9eD",
			"source": "ExchangeState",
			"link": "https://testnet.etherscan.io/address/0x4B0AcfF0518042f11aB6C78c6F6DC998a3c7b9eD",
			"timestamp": "2021-07-07T02:19:32.989Z",
			"txn": "",
			"network": "testnet"
		},
		"Issuer": {
			"name": "Issuer",
			"address": "0x473Ada686600C57360C5f5A0847616ea66888d2d",
			"source": "Issuer",
			"link": "https://testnet.etherscan.io/address/0x473Ada686600C57360C5f5A0847616ea66888d2d",
			"timestamp": "2021-07-07T16:48:46.000Z",
			"txn": "https://testnet.bscscan.com/tx/0x5179eb34ac8842492726f88f17d7f0cc6855c867268b9e9088c81b8761e6b3fb",
			"network": "testnet"
		},
		"IssuanceEternalStorage": {
			"name": "IssuanceEternalStorage",
			"address": "0x436155b429b86AC1cC25CF6011b2327232912B36",
			"source": "IssuanceEternalStorage",
			"link": "https://testnet.etherscan.io/address/0x436155b429b86AC1cC25CF6011b2327232912B36",
			"timestamp": "2021-07-07T02:20:01.006Z",
			"txn": "",
			"network": "testnet"
		},
		"EscrowChecker": {
			"name": "EscrowChecker",
			"address": "0x082075E4b04Ca0d0aA7B5D24C78e58D70D0850Ea",
			"source": "EscrowChecker",
			"link": "https://testnet.etherscan.io/address/0x082075E4b04Ca0d0aA7B5D24C78e58D70D0850Ea",
			"timestamp": "2021-07-07T02:20:15.554Z",
			"txn": "",
			"network": "testnet"
		},
		"TokenStateoXAU": {
			"name": "TokenStateoXAU",
			"address": "0x6e372d95a25804479699Fe38F288db3995826277",
			"source": "TokenState",
			"link": "https://testnet.etherscan.io/address/0x6e372d95a25804479699Fe38F288db3995826277",
			"timestamp": "2021-07-07T02:20:54.179Z",
			"txn": "",
			"network": "testnet"
		},
		"ProxyoXAU": {
			"name": "ProxyoXAU",
			"address": "0xFEA9F1960f46867ce54D2C9B68C51ae65c2e5E9E",
			"source": "ProxyERC20",
			"link": "https://testnet.etherscan.io/address/0xFEA9F1960f46867ce54D2C9B68C51ae65c2e5E9E",
			"timestamp": "2021-07-07T02:21:00.351Z",
			"txn": "",
			"network": "testnet"
		},
		"SynthoXAU": {
			"name": "SynthoXAU",
			"address": "0xB6d698da8c9f630cA6304B061759D27887d6C4Eb",
			"source": "Synth",
			"link": "https://testnet.etherscan.io/address/0xB6d698da8c9f630cA6304B061759D27887d6C4Eb",
			"timestamp": "2021-07-07T02:21:09.886Z",
			"txn": "",
			"network": "testnet"
		},
		"TokenStateoUSD": {
			"name": "TokenStateoUSD",
			"address": "0x0bfa8C4D371E584C54FcE4eb94Ab78F371336b49",
			"source": "TokenState",
			"link": "https://testnet.etherscan.io/address/0x0bfa8C4D371E584C54FcE4eb94Ab78F371336b49",
			"timestamp": "2021-07-07T02:21:27.688Z",
			"txn": "",
			"network": "testnet"
		},
		"ProxyoUSD": {
			"name": "ProxyoUSD",
			"address": "0x2C1375932D63cd38FCd2B638C3345cA56351E4D1",
			"source": "ProxyERC20",
			"link": "https://testnet.etherscan.io/address/0x2C1375932D63cd38FCd2B638C3345cA56351E4D1",
			"timestamp": "2021-07-07T02:21:36.817Z",
			"txn": "",
			"network": "testnet"
		},
		"SynthoUSD": {
			"name": "SynthoUSD",
			"address": "0x7BfECB5D5E635b47407C4E9a6Def379fff02A9A5",
			"source": "Synth",
			"link": "https://testnet.etherscan.io/address/0x7BfECB5D5E635b47407C4E9a6Def379fff02A9A5",
			"timestamp": "2021-07-07T02:21:42.454Z",
			"txn": "",
			"network": "testnet"
		},
		"TokenStateoBTC": {
			"name": "TokenStateoBTC",
			"address": "0xEb13B8Fa64E93FE95587C6Be3d0e1D94Ffa193c5",
			"source": "TokenState",
			"link": "https://testnet.etherscan.io/address/0xEb13B8Fa64E93FE95587C6Be3d0e1D94Ffa193c5",
			"timestamp": "2021-07-07T02:22:03.326Z",
			"txn": "",
			"network": "testnet"
		},
		"ProxyoBTC": {
			"name": "ProxyoBTC",
			"address": "0x3eE0eE0DA741111e6927f603Ccf49d518b6F9Dae",
			"source": "ProxyERC20",
			"link": "https://testnet.etherscan.io/address/0x3eE0eE0DA741111e6927f603Ccf49d518b6F9Dae",
			"timestamp": "2021-07-07T02:22:09.472Z",
			"txn": "",
			"network": "testnet"
		},
		"SynthoBTC": {
			"name": "SynthoBTC",
			"address": "0x64e9060ca17Ca8B333d9c4529Fb84483A50EF538",
			"source": "Synth",
			"link": "https://testnet.etherscan.io/address/0x64e9060ca17Ca8B333d9c4529Fb84483A50EF538",
			"timestamp": "2021-07-07T02:22:15.979Z",
			"txn": "",
			"network": "testnet"
		},
		"TokenStateoETH": {
			"name": "TokenStateoETH",
			"address": "0x923A8a42d5fB33136B8baecC084Cb3C992203928",
			"source": "TokenState",
			"link": "https://testnet.etherscan.io/address/0x923A8a42d5fB33136B8baecC084Cb3C992203928",
			"timestamp": "2021-07-07T02:22:35.830Z",
			"txn": "",
			"network": "testnet"
		},
		"ProxyoETH": {
			"name": "ProxyoETH",
			"address": "0xAdBEDc4550af5c40B5FC9Cf808027272d36A0A7d",
			"source": "ProxyERC20",
			"link": "https://testnet.etherscan.io/address/0xAdBEDc4550af5c40B5FC9Cf808027272d36A0A7d",
			"timestamp": "2021-07-07T02:22:41.975Z",
			"txn": "",
			"network": "testnet"
		},
		"SynthoETH": {
			"name": "SynthoETH",
			"address": "0xa33E5d0A7Ed965faaC6D68cb1751acABafd47e1c",
			"source": "MultiCollateralSynth",
			"link": "https://testnet.etherscan.io/address/0xa33E5d0A7Ed965faaC6D68cb1751acABafd47e1c",
			"timestamp": "2021-07-07T02:22:48.515Z",
			"txn": "",
			"network": "testnet"
		},
		"TokenStateoBNB": {
			"name": "TokenStateoBNB",
			"address": "0x3191FeC5e38b3d1535c74ef4D511e74B27B7D1cB",
			"source": "TokenState",
			"link": "https://testnet.etherscan.io/address/0x3191FeC5e38b3d1535c74ef4D511e74B27B7D1cB",
			"timestamp": "2021-07-07T02:23:09.631Z",
			"txn": "",
			"network": "testnet"
		},
		"ProxyoBNB": {
			"name": "ProxyoBNB",
			"address": "0x87c8EdffB0676395199437e58f3c07706F22F3Ba",
			"source": "ProxyERC20",
			"link": "https://testnet.etherscan.io/address/0x87c8EdffB0676395199437e58f3c07706F22F3Ba",
			"timestamp": "2021-07-07T02:23:15.782Z",
			"txn": "",
			"network": "testnet"
		},
		"SynthoBNB": {
			"name": "SynthoBNB",
			"address": "0x3d4d3EDB3BCC28cbd23959A7f417E68B07C9fB13",
			"source": "MultiCollateralSynth",
			"link": "https://testnet.etherscan.io/address/0x3d4d3EDB3BCC28cbd23959A7f417E68B07C9fB13",
			"timestamp": "2021-07-07T02:23:24.378Z",
			"txn": "",
			"network": "testnet"
		},
		"TokenStateiBTC": {
			"name": "TokenStateiBTC",
			"address": "0x454364CdC5E381C1b9e21A0268b809e32420b927",
			"source": "TokenState",
			"link": "https://testnet.etherscan.io/address/0x454364CdC5E381C1b9e21A0268b809e32420b927",
			"timestamp": "2021-07-07T02:23:42.220Z",
			"txn": "",
			"network": "testnet"
		},
		"ProxyiBTC": {
			"name": "ProxyiBTC",
			"address": "0xba8df3eA18876FEBAAEda922aEe046D3194f3841",
			"source": "ProxyERC20",
			"link": "https://testnet.etherscan.io/address/0xba8df3eA18876FEBAAEda922aEe046D3194f3841",
			"timestamp": "2021-07-07T02:23:51.388Z",
			"txn": "",
			"network": "testnet"
		},
		"SynthiBTC": {
			"name": "SynthiBTC",
			"address": "0x3F208AAA2de7EBC9b3Db5326e5eaC772D57408FA",
			"source": "PurgeableSynth",
			"link": "https://testnet.etherscan.io/address/0x3F208AAA2de7EBC9b3Db5326e5eaC772D57408FA",
			"timestamp": "2021-07-07T02:23:57.961Z",
			"txn": "",
			"network": "testnet"
		},
		"TokenStateiETH": {
			"name": "TokenStateiETH",
			"address": "0x1F016206f93f630CCcED3C92f27A277D99e4E014",
			"source": "TokenState",
			"link": "https://testnet.etherscan.io/address/0x1F016206f93f630CCcED3C92f27A277D99e4E014",
			"timestamp": "2021-07-07T02:24:18.476Z",
			"txn": "",
			"network": "testnet"
		},
		"ProxyiETH": {
			"name": "ProxyiETH",
			"address": "0x02964E32c14e977244cD9929C913Ac81867AdFF6",
			"source": "ProxyERC20",
			"link": "https://testnet.etherscan.io/address/0x02964E32c14e977244cD9929C913Ac81867AdFF6",
			"timestamp": "2021-07-07T02:24:24.646Z",
			"txn": "",
			"network": "testnet"
		},
		"SynthiETH": {
			"name": "SynthiETH",
			"address": "0x5b7c7e77B19cf623e264CACC42D87A5D13C1b792",
			"source": "PurgeableSynth",
			"link": "https://testnet.etherscan.io/address/0x5b7c7e77B19cf623e264CACC42D87A5D13C1b792",
			"timestamp": "2021-07-07T02:24:30.266Z",
			"txn": "",
			"network": "testnet"
		},
		"TokenStateiBNB": {
			"name": "TokenStateiBNB",
			"address": "0x7fED47Ff616d0D8E458883D1452F5c492b19A92a",
			"source": "TokenState",
			"link": "https://testnet.etherscan.io/address/0x7fED47Ff616d0D8E458883D1452F5c492b19A92a",
			"timestamp": "2021-07-07T02:24:51.697Z",
			"txn": "",
			"network": "testnet"
		},
		"ProxyiBNB": {
			"name": "ProxyiBNB",
			"address": "0x99D3ADEDEDE199710eFb57480a6142e5999B1D93",
			"source": "ProxyERC20",
			"link": "https://testnet.etherscan.io/address/0x99D3ADEDEDE199710eFb57480a6142e5999B1D93",
			"timestamp": "2021-07-07T02:24:57.857Z",
			"txn": "",
			"network": "testnet"
		},
		"SynthiBNB": {
			"name": "SynthiBNB",
			"address": "0x9Cc177bD4b94858a1E280072932De0389429Ac4a",
			"source": "PurgeableSynth",
			"link": "https://testnet.etherscan.io/address/0x9Cc177bD4b94858a1E280072932De0389429Ac4a",
			"timestamp": "2021-07-07T02:25:03.450Z",
			"txn": "",
			"network": "testnet"
		},
		"Depot": {
			"name": "Depot",
			"address": "0xe0E30a1b515331d9422F40f28731b016F7E79A17",
			"source": "Depot",
			"link": "https://testnet.etherscan.io/address/0xe0E30a1b515331d9422F40f28731b016F7E79A17",
			"timestamp": "2021-07-07T02:31:31.000Z",
			"txn": "https://testnet.bscscan.com/tx/0x02ee2153951096693fe74755888757c7de791fac4953c692610bd43e82452771",
			"network": "testnet"
		},
		"BNBCollateral": {
			"name": "BNBCollateral",
			"address": "0xf294D756CFB33e63137bD215848aDD71AE92Fe14",
			"source": "BNBCollateral",
			"link": "https://testnet.etherscan.io/address/0xf294D756CFB33e63137bD215848aDD71AE92Fe14",
			"timestamp": "2021-07-07T02:31:37.000Z",
			"txn": "https://testnet.bscscan.com/tx/0x14fa0499360b63d54869a6eeb351121db39ceb2d96f741b03851503128f3d9e5",
			"network": "testnet"
		}
	},
	"sources": {
		"SafeDecimalMath": {
			"bytecode": "61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a72315820430f6afc35d22af22e14a9f68d2291cff71624509cf9448733c26be5d4f6248664736f6c63430005100032",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "PRECISE_UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x864029e7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9d8e2177"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "highPrecisionDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdef4419d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "preciseUnit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0xd5e5e6e6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "unit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0x907af6c0"
				}
			]
		},
		"Math": {
			"bytecode": "60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820426e6ae37ecf58654ba4f6b1938ceb8e5cd0abd64fef0d581d0a5e6f9cb2eab664736f6c63430005100032",
			"abi": []
		},
		"AddressResolver": {
			"bytecode": "608060405234801561001057600080fd5b5060405161085a38038061085a8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050610760806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806353a47bb71161006657806353a47bb71461013357806379ba50971461013b5780638da5cb5b14610143578063ab0b8f771461014b578063dacb2d011461020d57610093565b80631627540c14610098578063187f7935146100c057806321f8a721146100f95780635145606114610116575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610284565b005b6100dd600480360360208110156100d657600080fd5b5035610321565b604080516001600160a01b039092168252519081900360200190f35b6100dd6004803603602081101561010f57600080fd5b503561033c565b6100dd6004803603602081101561012c57600080fd5b5035610357565b6100dd61045f565b6100be61046e565b6100dd61052a565b6100be6004803603604081101561016157600080fd5b81019060208101813564010000000081111561017c57600080fd5b82018360208201111561018e57600080fd5b803590602001918460208302840111640100000000831117156101b057600080fd5b9193909290916020810190356401000000008111156101ce57600080fd5b8201836020820111156101e057600080fd5b8035906020019184602083028401116401000000008311171561020257600080fd5b509092509050610539565b6100dd6004803603604081101561022357600080fd5b8135919081019060408101602082013564010000000081111561024557600080fd5b82018360208201111561025757600080fd5b8035906020019184600183028401116401000000008311171561027957600080fd5b509092509050610653565b6000546001600160a01b031633146102cd5760405162461bcd60e51b815260040180806020018281038252602f8152602001806106fd602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b0316806103e8576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166332608039846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561042c57600080fd5b505afa158015610440573d6000803e3d6000fd5b505050506040513d602081101561045657600080fd5b50519392505050565b6001546001600160a01b031681565b6001546001600160a01b031633146104b75760405162461bcd60e51b81526004018080602001828103825260358152602001806106c86035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000546001600160a01b031633146105825760405162461bcd60e51b815260040180806020018281038252602f8152602001806106fd602f913960400191505060405180910390fd5b8281146105d6576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b8381101561064c578282828181106105ed57fe5b905060200201356001600160a01b03166002600087878581811061060d57fe5b6020908102929092013583525081019190915260400160002080546001600160a01b0319166001600160a01b03929092169190911790556001016105d9565b5050505050565b6000838152600260205260408120546001600160a01b03168383826106bc5760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b50909594505050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a7231582030467b7bde6d5c1eae8e93cd87053ebd23ae8644ef47ec3bb4a3748784081b7764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						}
					],
					"name": "getAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x21f8a721"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "key",
							"type": "bytes32"
						}
					],
					"name": "getSynth",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x51456061"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "names",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "importAddresses",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xab0b8f77"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "repository",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x187f7935"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "reason",
							"type": "string"
						}
					],
					"name": "requireAndGetAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdacb2d01"
				}
			]
		},
		"ReadProxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516104cc3803806104cc8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506103d2806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461008657806353a47bb7146100ae578063776d1a01146100d257806379ba5097146100f85780638da5cb5b14610100578063d4b8399214610108575b36600080376000803660006002545afa3d6000803e80610081573d6000fd5b3d6000f35b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b0316610110565b005b6100b66101ad565b604080516001600160a01b039092168252519081900360200190f35b6100ac600480360360208110156100e857600080fd5b50356001600160a01b03166101bc565b6100ac61025f565b6100b661031b565b6100b661032a565b6000546001600160a01b031633146101595760405162461bcd60e51b815260040180806020018281038252602f81526020018061036f602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6000546001600160a01b031633146102055760405162461bcd60e51b815260040180806020018281038252602f81526020018061036f602f913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102a85760405162461bcd60e51b815260040180806020018281038252603581526020018061033a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03168156fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a7231582013e61facb6db2c198f2de3d715ed59cd1f4c21c8686363cbdc2e55283417b35f64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				}
			]
		},
		"SystemStatus": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620015ab380380620015ab833981810160405260208110156200003757600080fd5b5051806001600160a01b03811662000096576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150620001106553797374656d60d01b826001806001600160e01b036200017d16565b620001336749737375616e636560c01b826001806001600160e01b036200017d16565b620001566745786368616e676560c01b826001806001600160e01b036200017d16565b62000176640a6f2dce8d60db1b826001806001600160e01b036200017d16565b5062000299565b6553797374656d60d01b8414806200019f57506749737375616e636560c01b84145b80620001b557506745786368616e676560c01b84145b80620001c85750640a6f2dce8d60db1b84145b6200021a576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b61130280620002a96000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806367a280b2116101045780639f8a95ba116100a2578063f161620711610071578063f161620714610578578063f405f65a14610580578063f44d1e0b14610588578063f8b4b08414610590576101da565b80639f8a95ba1461040b578063abc0bb6e1461042f578063b9a4986914610452578063e470df581461055b576101da565b806379ba5097116100de57806379ba5097146103d65780637c312541146103de5780638da5cb5b146103e657806394c79f74146103ee576101da565b806367a280b2146103a95780637118d431146103b15780637243bc2c146103b9576101da565b80632dd8afdb1161017c57806348bf19711161014b57806348bf19711461031e5780634abdb44d1461035a57806353a47bb7146103625780636132eba414610386576101da565b80632dd8afdb146102c05780632e8d0b9e146102c8578063396e258e146102e457806342a28e2114610301576101da565b80631588e817116101b85780631588e8171461020b5780631627540c1461022857806320f2bf001461024e5780632366245e14610295576101da565b8063086dabd1146101df57806312bde514146101e9578063157c51d314610203575b600080fd5b6101e7610598565b005b6101f16105a2565b60408051918252519081900360200190f35b6101e76105af565b6101e76004803603602081101561022157600080fd5b5035610619565b6101e76004803603602081101561023e57600080fd5b50356001600160a01b0316610684565b61027a6004803603604081101561026457600080fd5b50803590602001356001600160a01b0316610721565b60408051921515835290151560208301528051918290030190f35b61029d61074a565b6040805192151583526001600160f81b0390911660208301528051918290030190f35b61029d610763565b6102d061077c565b604080519115158252519081900360200190f35b6101e7600480360360208110156102fa57600080fd5b50356107a6565b6101e76004803603602081101561031757600080fd5b5035610811565b6101e76004803603608081101561033457600080fd5b508035906001600160a01b0360208201351690604081013515159060600135151561086a565b6101f16108c5565b61036a6108d4565b604080516001600160a01b039092168252519081900360200190f35b6101e76004803603604081101561039c57600080fd5b50803590602001356108e3565b6101e7610958565b6101e76109c4565b61029d600480360360208110156103cf57600080fd5b5035610a0e565b6101e7610a33565b6101e7610aef565b61036a610b39565b6101e76004803603602081101561040457600080fd5b5035610b48565b610413610bc5565b604080516001600160f81b039092168252519081900360200190f35b6101e76004803603604081101561044557600080fd5b5080359060200135610bca565b6104c26004803603602081101561046857600080fd5b81019060208101813564010000000081111561048357600080fd5b82018360208201111561049557600080fd5b803590602001918460208302840111640100000000831117156104b757600080fd5b509092509050610c48565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156105065781810151838201526020016104ee565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561054557818101518382015260200161052d565b5050505090500194505050505060405180910390f35b6101e76004803603602081101561057157600080fd5b5035610d71565b6101f1610de6565b6101e7610df5565b6101f1610e61565b61029d610e6d565b6105a0610e86565b565b6553797374656d60d01b81565b6105c16553797374656d60d01b610f65565b6003805460ff191690819055604080516101009092046001600160f81b03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b61062d6745786368616e676560c01b610fc2565b600580546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b6000546001600160a01b031633146106cd5760405162461bcd60e51b815260040180806020018281038252602f81526020018061122b602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60045460ff81169061010090046001600160f81b031682565b60035460ff81169061010090046001600160f81b031682565b60035460009060ff1680156107a1575060035461010090046001600160f81b03166001145b905090565b6107ba6749737375616e636560c01b610fc2565b600480546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b610819610e86565b60008181526006602052604090205460ff16156108675760405162461bcd60e51b81526004018080602001828103825260288152602001806112a66028913960400191505060405180910390fd5b50565b6000546001600160a01b031633146108b35760405162461bcd60e51b815260040180806020018281038252602f81526020018061122b602f913960400191505060405180910390fd5b6108bf8484848461101a565b50505050565b6749737375616e636560c01b81565b6001546001600160a01b031681565b6108eb610e86565b60008281526006602052604090205460ff16158015610919575060008181526006602052604090205460ff16155b6109545760405162461bcd60e51b81526004018080602001828103825260368152602001806111ca6036913960400191505060405180910390fd5b5050565b61096c6749737375616e636560c01b610f65565b6004805460ff191690819055604080516101009092046001600160f81b03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b6109cc610e86565b60055460ff16156105a05760405162461bcd60e51b815260040180806020018281038252602b81526020018061125a602b913960400191505060405180910390fd5b60066020526000908152604090205460ff81169061010090046001600160f81b031682565b6001546001600160a01b03163314610a7c5760405162461bcd60e51b81526004018080602001828103825260358152602001806111336035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610af7610e86565b60045460ff16156105a05760405162461bcd60e51b815260040180806020018281038252602b815260200180611200602b913960400191505060405180910390fd5b6000546001600160a01b031681565b610b59640a6f2dce8d60db1b610f65565b6000818152600660209081526040918290205482518481526101009091046001600160f81b03169181019190915281517f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220929181900390910190a1600090815260066020526040812055565b600181565b610bdb640a6f2dce8d60db1b610fc2565b60008281526006602090815260409182902080546001600160f81b0385166101000260ff1990911660011760ff16179055815184815290810183905281517f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541929181900390910190a15050565b60608083839050604051908082528060200260200182016040528015610c78578160200160208202803883390190505b50604080518581526020808702820101909152909250838015610ca5578160200160208202803883390190505b50905060005b83811015610d695760066000868684818110610cc357fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110610cf557fe5b9115156020928302919091019091015260066000868684818110610d1557fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110610d5657fe5b6020908102919091010152600101610cab565b509250929050565b610d836553797374656d60d01b610fc2565b600380546001600160f81b0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b6745786368616e676560c01b81565b610e096745786368616e676560c01b610f65565b6005805460ff191690819055604080516101009092046001600160f81b03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b640a6f2dce8d60db1b81565b60055460ff81169061010090046001600160f81b031682565b60035460ff8116159061010090046001600160f81b0316600114610ec2576040518060600160405280602881526020016111a260289139610edc565b6040518060600160405280603a8152602001611168603a91395b906108675760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f2a578181015183820152602001610f12565b50505050905090810190601f168015610f575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000818152600260209081526040808320338452909152902054610100900460ff166108675760405162461bcd60e51b81526004018080602001828103825260218152602001806112856021913960400191505060405180910390fd5b600081815260026020908152604080832033845290915290205460ff166108675760405162461bcd60e51b81526004018080602001828103825260218152602001806112856021913960400191505060405180910390fd5b6553797374656d60d01b84148061103b57506749737375616e636560c01b84145b8061105057506745786368616e676560c01b84145b806110625750640a6f2dce8d60db1b84145b6110b3576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a35050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f696b6f732069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e642062794f696b6f732069732073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e65206f72206d6f72652073796e746873206172652073757370656e6465642e204f7065726174696f6e2070726f6869626974656449737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645265737472696374656420746f2061636365737320636f6e74726f6c206c69737453796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a265627a7a7231582086fe502681f288cebe6594aea310d20bba77e096b094ae26135dd4f536eb6c4e64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "AccessControlUpdated",
					"type": "event",
					"signature": "0x95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeResumed",
					"type": "event",
					"signature": "0x07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeSuspended",
					"type": "event",
					"signature": "0x078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceResumed",
					"type": "event",
					"signature": "0x0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceSuspended",
					"type": "event",
					"signature": "0xee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SynthResumed",
					"type": "event",
					"signature": "0x691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SynthSuspended",
					"type": "event",
					"signature": "0x9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemResumed",
					"type": "event",
					"signature": "0xb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemSuspended",
					"type": "event",
					"signature": "0x86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1616207"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_ISSUANCE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4abdb44d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYNTH",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf44d1e0b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYSTEM",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x12bde514"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUSPENSION_REASON_UPGRADE",
					"outputs": [
						{
							"internalType": "uint248",
							"name": "",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f8a95ba"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accessControl",
					"outputs": [
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x20f2bf00"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf8b4b084"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "synths",
							"type": "bytes32[]"
						}
					],
					"name": "getSynthSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "suspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb9a49869"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isSystemUpgrading",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e8d0b9e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2366245e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7118d431"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireIssuanceActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c312541"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireSynthActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x42a28e21"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireSynthsActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6132eba4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireSystemActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x086dabd1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf405f65a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x67a280b2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumeSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x94c79f74"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x157c51d3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1588e817"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x396e258e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xabc0bb6e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe470df58"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7243bc2c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "systemSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2dd8afdb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "updateAccessControl",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x48bf1971"
				}
			]
		},
		"ExchangeRates": {
			"bytecode": "6080604052612a306008553480156200001757600080fd5b5060405162003e6038038062003e60833981810160405260808110156200003d57600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006957600080fd5b9083019060208201858111156200007f57600080fd5b82518660208202830111640100000000821117156200009d57600080fd5b82525081516020918201928201910280838360005b83811015620000cc578181015183820152602001620000b2565b5050505090500160405260200180516040519392919084640100000000821115620000f657600080fd5b9083019060208201858111156200010c57600080fd5b82518660208202830111640100000000821117156200012a57600080fd5b82525081516020918201928201910280838360005b83811015620001595781810151838201526020016200013f565b505050509050016040525050508360006001600160a01b0316816001600160a01b03161415620001d0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b03166200027b576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005460038054610100600160a81b0319166101006001600160a01b0390931692830217905560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53916020908290030190a18051825114620003165760405162461bcd60e51b815260040180806020018281038252602f81526020018062003d6e602f913960400191505060405180910390fd5b82600560006101000a8154816001600160a01b0302191690836001600160a01b03160217905550620003cc631bd554d160e21b73__$81fd87b331096e90074cc3e2c16d5bc3ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038e57600080fd5b505af4158015620003a3573d6000803e3d6000fd5b505050506040513d6020811015620003ba57600080fd5b5051426001600160e01b03620003ed16565b620003e28282426001600160e01b036200046616565b505050505062000b21565b6000838152600b60209081526040808320805460010190819055815180830183526001600160d81b03968716815264ffffffffff958616818501908152978552600484528285209185529252909120905181549451909216600160d81b029183166001600160d81b031990941693909317909116179055565b60008251845114620004aa5760405162461bcd60e51b815260040180806020018281038252603881526020018062003dbe6038913960400191505060405180910390fd5b6102584201821062000503576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b84518110156200065b5760008582815181106200051f57fe5b602002602001015190508482815181106200053657fe5b6020026020010151600014156200057f5760405162461bcd60e51b815260040180806020018281038252603981526020018062003e276039913960400191505060405180910390fd5b80631bd554d160e21b1415620005c75760405162461bcd60e51b815260040180806020018281038252603181526020018062003df66031913960400191505060405180910390fd5b620005db816001600160e01b036200072516565b841015620005ea575062000652565b6200061081868481518110620005fc57fe5b60200260200101516200074e60201b60201c565b8583815181106200061d57fe5b60200260200101818152505062000650818684815181106200063b57fe5b602002602001015186620003ed60201b60201c565b505b60010162000506565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015620006c5578181015183820152602001620006ab565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101562000706578181015183820152602001620006ec565b5050505090500194505050505060405180910390a15060019392505050565b60006200073b826001600160e01b036200087d16565b6020015164ffffffffff1690505b919050565b600082815260096020526040812080546200076d578291505062000877565b600062000783856001600160e01b0362000a2116565b600383015490915060ff1662000873576000620007b46002846000015462000a4760201b620029d21790919060201c565b9050848111620007c85760009150620007e5565b620007e2858262000aac60201b62002f8a1790919060201c565b91505b82600101548210620007fe578260010154915062000812565b826002015482116200081257826002015491505b8260010154821480620008285750826002015482145b15620008715760038301805460ff191660011790556040805187815290517f4b3d3f51dab37576ab4ca08ebdb81d4a4c587f25df5cc1f9a620a7faff84aba89181900360200190a15b505b9150505b92915050565b6200088762000b0a565b6000828152600660205260409020546001600160a01b031615620009d2576040805180820180835260008581526006602090815290849020546350d25bcd60e01b9092529251919283926001600160a01b03909216916350d25bcd9160448086019290818703018186803b158015620008ff57600080fd5b505afa15801562000914573d6000803e3d6000fd5b505050506040513d60208110156200092b57600080fd5b50516402540be400026001600160d81b03168152600084815260066020908152604091829020548251634102dfb560e11b81529251938201936001600160a01b0390911692638205bf6a926004808301939192829003018186803b1580156200099357600080fd5b505afa158015620009a8573d6000803e3d6000fd5b505050506040513d6020811015620009bf57600080fd5b505164ffffffffff169052905062000749565b506000818152600460209081526040808320600b83528184205484528252918290208251808401909352546001600160d81b0381168352600160d81b900464ffffffffff169082015262000749565b600062000a37826001600160e01b036200087d16565b516001600160d81b031692915050565b60008262000a585750600062000877565b8282028284828162000a6657fe5b041462000aa55760405162461bcd60e51b815260040180806020018281038252602181526020018062003d9d6021913960400191505060405180910390fd5b9392505050565b60008282111562000b04576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080518082019091526000808252602082015290565b61323d8062000b316000396000f3fe608060405234801561001057600080fd5b50600436106102e85760003560e01c806379ba509711610191578063af3aea86116100e3578063bfa005ce11610097578063c8e6f39511610071578063c8e6f39514610b2a578063ce8480ea14610b47578063fdadbc7e14610b64576102e8565b8063bfa005ce146109f0578063c2c8a67614610ab2578063c58aaae614610b22576102e8565b8063b8225dec116100c8578063b8225dec14610911578063babcb42314610919578063bd32aa44146109e8576102e8565b8063af3aea86146108b5578063b199c764146108d2576102e8565b80638295016a116101455780639cb8a26a1161011f5780639cb8a26a14610888578063a461fc8214610890578063ac82f60814610898576102e8565b80638295016a1461081c5780638da5cb5b14610863578063935f4abd1461086b576102e8565b80637a018a1e116101765780637a018a1e146107c45780637adbf973146107e15780637dc0d1d014610814576102e8565b806379ba50971461079f57806379cb657a146107a7576102e8565b80632d7371e11161024a57806345938849116101fe578063654a60ac116101d8578063654a60ac146107145780637103353e1461073d578063728dec291461075a576102e8565b806345938849146106a95780634f72def6146106c657806353a47bb7146106e3576102e8565b80633278c9601161022f5780633278c960146106325780633f0e084f1461063a5780634308a94f14610673576102e8565b80632d7371e1146105595780632ea913d414610615576102e8565b806317c70de4116102a1578063266da16b11610286578063266da16b146104975780632bed9e0c146104cc5780632d227674146104e9576102e8565b806317c70de41461045c57806320714f8814610464576102e8565b80630ee4951b116102d25780630ee4951b146103de578063109e46a2146103f85780631627540c14610427576102e8565b80629919c0146102ed57806305a046e51461031e575b600080fd5b61030a6004803603602081101561030357600080fd5b5035610b87565b604080519115158252519081900360200190f35b61038e6004803603602081101561033457600080fd5b81019060208101813564010000000081111561034f57600080fd5b82018360208201111561036157600080fd5b8035906020019184602083028401116401000000008311171561038357600080fd5b509092509050610bde565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103ca5781810151838201526020016103b2565b505050509050019250505060405180910390f35b6103e6610c60565b60408051918252519081900360200190f35b6103e66004803603608081101561040e57600080fd5b5080359060208101359060408101359060600135610c66565b61045a6004803603602081101561043d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ca9565b005b6103e6610d78565b61045a6004803603602081101561047a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d7e565b6103e6600480360360a08110156104ad57600080fd5b5080359060208101359060408101359060608101359060800135610ebc565b61045a600480360360208110156104e257600080fd5b5035610f19565b61030a600480360360208110156104ff57600080fd5b81019060208101813564010000000081111561051a57600080fd5b82018360208201111561052c57600080fd5b8035906020019184602083028401116401000000008311171561054e57600080fd5b509092509050611083565b61057c6004803603604081101561056f57600080fd5b5080359060200135611105565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156105c05781810151838201526020016105a8565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156105ff5781810151838201526020016105e7565b5050505090500194505050505060405180910390f35b6103e66004803603602081101561062b57600080fd5b50356111f6565b61045a611214565b61045a6004803603604081101561065057600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff166112c2565b6106906004803603602081101561068957600080fd5b50356114d1565b6040805192835260208301919091528051918290030190f35b61045a600480360360208110156106bf57600080fd5b503561151d565b6103e6600480360360208110156106dc57600080fd5b5035611658565b6106eb611665565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6103e66004803603606081101561072a57600080fd5b5080359060208101359060400135611681565b6106eb6004803603602081101561075357600080fd5b5035611699565b6107776004803603602081101561077057600080fd5b50356116c1565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b61045a6116eb565b61045a600480360360208110156107bd57600080fd5b50356117e6565b6103e6600480360360208110156107da57600080fd5b5035611877565b61045a600480360360208110156107f757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611882565b6106eb611957565b6108456004803603606081101561083257600080fd5b5080359060208101359060400135611973565b60408051938452602084019290925282820152519081900360600190f35b6106eb611993565b6103e66004803603602081101561088157600080fd5b50356119af565b61045a6119c1565b6103e6611b3a565b6103e6600480360360208110156108ae57600080fd5b5035611b41565b61030a600480360360208110156108cb57600080fd5b5035611b70565b61045a600480360360c08110156108e857600080fd5b50803590602081013590604081013590606081013590608081013515159060a001351515611b88565b61030a611e33565b6109896004803603602081101561092f57600080fd5b81019060208101813564010000000081111561094a57600080fd5b82018360208201111561095c57600080fd5b8035906020019184602083028401116401000000008311171561097e57600080fd5b509092509050611e3c565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156109d35781810151838201526020016109bb565b50505050905001935050505060405180910390f35b61045a611f5d565b61030a60048036036060811015610a0657600080fd5b810190602081018135640100000000811115610a2157600080fd5b820183602082011115610a3357600080fd5b80359060200191846020830284011164010000000083111715610a5557600080fd5b919390929091602081019035640100000000811115610a7357600080fd5b820183602082011115610a8557600080fd5b80359060200191846020830284011164010000000083111715610aa757600080fd5b91935091503561201a565b61038e60048036036020811015610ac857600080fd5b810190602081018135640100000000811115610ae357600080fd5b820183602082011115610af557600080fd5b80359060200191846020830284011164010000000083111715610b1757600080fd5b5090925090506120ec565b6106eb612164565b61045a60048036036020811015610b4057600080fd5b5035612185565b6103e660048036036020811015610b5d57600080fd5b50356122e2565b61069060048036036040811015610b7a57600080fd5b50803590602001356122ed565b6000817f6f555344000000000000000000000000000000000000000000000000000000001415610bb957506000610bd9565b42610bd5600854610bc985612305565b9063ffffffff61232116565b1090505b919050565b60608083839050604051908082528060200260200182016040528015610c0e578160200160208202803883390190505b50905060005b83811015610c5657610c37858583818110610c2b57fe5b90506020020135612305565b828281518110610c4357fe5b6020908102919091010152600101610c14565b5090505b92915050565b60085481565b600083815b610c788783600101612382565b915050801580610c89575083850181115b15610c9657509050610ca1565b600190910190610c6b565b949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610cff5760405162461bcd60e51b815260040180806020018281038252602f81526020018061309b602f913960400191505060405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60025481565b60005473ffffffffffffffffffffffffffffffffffffffff163314610dd45760405162461bcd60e51b815260040180806020018281038252602f81526020018061309b602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610e3c576040805162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff831661010081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b600083861415610ecd575083610f10565b6000610ed98785612382565b5090506000610ee88685612382565b509050610f0b81610eff898563ffffffff61256b16565b9063ffffffff61258016565b925050505b95945050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610f6f5760405162461bcd60e51b815260040180806020018281038252602f81526020018061309b602f913960400191505060405180910390fd5b60008181526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610fe6576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b657900000000604482015290519081900360640190fd5b600082815260066020526040812080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055611025836007612595565b9050801561107e576040805184815273ffffffffffffffffffffffffffffffffffffffff8416602082015281517fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777929181900390910190a15b505050565b6000805b828110156110fb5783838281811061109b57fe5b905060200201357f6f55534400000000000000000000000000000000000000000000000000000000141580156110e45750426110e2600854610bc9878786818110610c2b57fe5b105b156110f3576001915050610c5a565b600101611087565b5060009392505050565b60608082604051908082528060200260200182016040528015611132578160200160208202803883390190505b5091508260405190808252806020026020018201604052801561115f578160200160208202803883390190505b509050600061116d8561266b565b905060005b848110156111ec576111848683612382565b85838151811061119057fe5b602002602001018584815181106111a357fe5b602090810291909101019190915252816111bf57506111ef9050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90910190600101611172565b50505b9250929050565b600a818154811061120357fe5b600091825260209091200154905081565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126a5760405162461bcd60e51b815260040180806020018281038252602f81526020018061309b602f913960400191505060405180910390fd5b60006002819055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b60005473ffffffffffffffffffffffffffffffffffffffff1633146113185760405162461bcd60e51b815260040180806020018281038252602f81526020018061309b602f913960400191505060405180910390fd5b600081905060008173ffffffffffffffffffffffffffffffffffffffff16638205bf6a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561136557600080fd5b505afa158015611379573d6000803e3d6000fd5b505050506040513d602081101561138f57600080fd5b505110156113e4576040805162461bcd60e51b815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c69640000000000604482015290519081900360640190fd5b60008381526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1661144357600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018390555b60008381526006602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915582518681529182015281517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63929181900390910190a1505050565b6000806114dc612fe7565b6114e584612754565b80516020909101517affffffffffffffffffffffffffffffffffffffffffffffffffffff909116935064ffffffffff16915050915091565b60055473ffffffffffffffffffffffffffffffffffffffff1633146115735760405162461bcd60e51b81526004018080602001828103825260278152602001806130746027913960400191505060405180910390fd5b600061157e82611b41565b116115d0576040805162461bcd60e51b815260206004820152600c60248201527f52617465206973207a65726f0000000000000000000000000000000000000000604482015290519081900360640190fd5b6000818152600460209081526040808320600b808452828520805486529184528285208590559385905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909255815183815291517fe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae19281900390910190a150565b6007818154811061120357fe5b60015473ffffffffffffffffffffffffffffffffffffffff1681565b600061168e848484612986565b509095945050505050565b60066020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60096020526000908152604090208054600182015460028301546003909301549192909160ff1684565b60015473ffffffffffffffffffffffffffffffffffffffff1633146117415760405162461bcd60e51b815260040180806020018281038252603581526020018061303f6035913960400191505060405180910390fd5b6000546001546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b60005473ffffffffffffffffffffffffffffffffffffffff16331461183c5760405162461bcd60e51b815260040180806020018281038252602f81526020018061309b602f913960400191505060405180910390fd5b60088190556040805182815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669181900360200190a150565b6000610c5a8261266b565b60005473ffffffffffffffffffffffffffffffffffffffff1633146118d85760405162461bcd60e51b815260040180806020018281038252602f81526020018061309b602f913960400191505060405180910390fd5b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179182905560408051929091168252517f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394916020908290030190a150565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000611983868686612986565b9250925092505b93509350939050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020526000908152604090205481565b60005473ffffffffffffffffffffffffffffffffffffffff163314611a175760405162461bcd60e51b815260040180806020018281038252602f81526020018061309b602f913960400191505060405180910390fd5b60035460ff16611a6e576040805162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea006002540110611ac9576040805162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b6003546040805161010090920473ffffffffffffffffffffffffffffffffffffffff168252517f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7916020908290030190a1600354610100900473ffffffffffffffffffffffffffffffffffffffff16ff5b6224ea0081565b6000611b4c82612754565b517affffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b60009081526009602052604090206003015460ff1690565b60005473ffffffffffffffffffffffffffffffffffffffff163314611bde5760405162461bcd60e51b815260040180806020018281038252602f81526020018061309b602f913960400191505060405180910390fd5b60008311611c33576040805162461bcd60e51b815260206004820152601a60248201527f6c6f7765724c696d6974206d7573742062652061626f76652030000000000000604482015290519081900360640190fd5b848411611c715760405162461bcd60e51b81526004018080602001828103825260278152602001806131e26027913960400191505060405180910390fd5b611c8285600263ffffffff6129d216565b8410611cbf5760405162461bcd60e51b815260040180806020018281038252602e81526020018061314a602e913960400191505060405180910390fd5b848310611cfd5760405162461bcd60e51b81526004018080602001828103825260278152602001806131236027913960400191505060405180910390fd5b600086815260096020526040902054611d4657600a80546001810182556000919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8018690555b600086815260096020908152604091829020878155600181018790556002810186905560030180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151517905581518881529081018790528082018690526060810185905290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a916080908290030190a18115611e2b576040805187815290517f4b3d3f51dab37576ab4ca08ebdb81d4a4c587f25df5cc1f9a620a7faff84aba89181900360200190a1611e2b8682611e235784611e25565b855b42612a2b565b505050505050565b60035460ff1681565b60606000606084849050604051908082528060200260200182016040528015611e6f578160200160208202803883390190505b50600854909150600090815b86811015611f5057611e8b612fe7565b611ea6898984818110611e9a57fe5b90506020020135612754565b905080600001517affffffffffffffffffffffffffffffffffffffffffffffffffffff16858381518110611ed657fe5b60200260200101818152505083611f4757888883818110611ef357fe5b905060200201357f6f5553440000000000000000000000000000000000000000000000000000000014158015611f44575060208101514290611f429064ffffffffff168563ffffffff61232116565b105b93505b50600101611e7b565b5091969095509350505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611fb35760405162461bcd60e51b815260040180806020018281038252602f81526020018061309b602f913960400191505060405180910390fd5b42600255600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b60055460009073ffffffffffffffffffffffffffffffffffffffff1633146120735760405162461bcd60e51b81526004018080602001828103825260278152602001806130746027913960400191505060405180910390fd5b6120e286868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808a02828101820190935289825290935089925088918291850190849080828437600092019190915250879250612ae8915050565b9695505050505050565b6060808383905060405190808252806020026020018201604052801561211c578160200160208202803883390190505b50905060005b83811015610c565761214585858381811061213957fe5b90506020020135611b41565b82828151811061215157fe5b6020908102919091010152600101612122565b600354610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146121db5760405162461bcd60e51b815260040180806020018281038252602f81526020018061309b602f913960400191505060405180910390fd5b60008181526009602052604090205461223b576040805162461bcd60e51b815260206004820152601860248201527f4e6f20696e766572746564207072696365206578697374730000000000000000604482015290519081900360640190fd5b6000818152600960205260408120818155600181018290556002810182905560030180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905561228e82600a612595565b905080156122de5760408051838152600060208201819052818301819052606082015290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15b5050565b6000610c5a82612305565b6000806122fa8484612382565b915091509250929050565b600061231082612754565b6020015164ffffffffff1692915050565b60008282018381101561237b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082815260066020526040812054819073ffffffffffffffffffffffffffffffffffffffff1615612505576000848152600660209081526040918290205482517fb5ab58dc00000000000000000000000000000000000000000000000000000000815260048101879052925173ffffffffffffffffffffffffffffffffffffffff90911692839263b5ab58dc92602480840193829003018186803b15801561242a57600080fd5b505afa15801561243e573d6000803e3d6000fd5b505050506040513d602081101561245457600080fd5b5051604080517fb633620c0000000000000000000000000000000000000000000000000000000081526004810187905290516402540be4009092029173ffffffffffffffffffffffffffffffffffffffff84169163b633620c916024808301926020929190829003018186803b1580156124cd57600080fd5b505afa1580156124e1573d6000803e3d6000fd5b505050506040513d60208110156124f757600080fd5b505190935091506111ef9050565b505060008281526004602090815260408083208484529091529020547affffffffffffffffffffffffffffffffffffffffffffffffffffff8116907b01000000000000000000000000000000000000000000000000000000900464ffffffffff166111ef565b600061237b8383670de0b6b3a7640000612d91565b600061237b8383670de0b6b3a7640000612dce565b6000805b82548110156110fb57838382815481106125af57fe5b90600052602060002001541415612663578281815481106125cc57fe5b6000918252602082200155825483907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061260757fe5b906000526020600020015483828154811061261e57fe5b6000918252602090912001558254612658847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8301612ffe565b506001915050610c5a565b600101612599565b60008181526006602052604081205473ffffffffffffffffffffffffffffffffffffffff161561273f576000828152600660209081526040918290205482517f668a0f02000000000000000000000000000000000000000000000000000000008152925173ffffffffffffffffffffffffffffffffffffffff90911692839263668a0f0292600480840193829003018186803b15801561270a57600080fd5b505afa15801561271e573d6000803e3d6000fd5b505050506040513d602081101561273457600080fd5b50519150610bd99050565b506000818152600b6020526040902054610bd9565b61275c612fe7565b60008281526006602052604090205473ffffffffffffffffffffffffffffffffffffffff161561290c576040805180820180835260008581526006602090815290849020547f50d25bcd0000000000000000000000000000000000000000000000000000000090925292519192839273ffffffffffffffffffffffffffffffffffffffff909216916350d25bcd9160448086019290818703018186803b15801561280557600080fd5b505afa158015612819573d6000803e3d6000fd5b505050506040513d602081101561282f57600080fd5b50516402540be400027affffffffffffffffffffffffffffffffffffffffffffffffffffff1681526000848152600660209081526040918290205482517f8205bf6a00000000000000000000000000000000000000000000000000000000815292519382019373ffffffffffffffffffffffffffffffffffffffff90911692638205bf6a926004808301939192829003018186803b1580156128d057600080fd5b505afa1580156128e4573d6000803e3d6000fd5b505050506040513d60208110156128fa57600080fd5b505164ffffffffff1690529050610bd9565b506000818152600460209081526040808320600b83528184205484528252918290208251808401909352547affffffffffffffffffffffffffffffffffffffffffffffffffffff811683527b01000000000000000000000000000000000000000000000000000000900464ffffffffff1690820152610bd9565b600080600061299486611b41565b9150838614156129a857508391508061198a565b6129b184611b41565b90506129c781610eff878563ffffffff61256b16565b925093509350939050565b6000826129e157506000610c5a565b828202828482816129ee57fe5b041461237b5760405162461bcd60e51b81526004018080602001828103825260218152602001806130ca6021913960400191505060405180910390fd5b6000838152600b60209081526040808320805460010190819055815180830183527affffffffffffffffffffffffffffffffffffffffffffffffffffff968716815264ffffffffff9586168185019081529785526004845282852091855292529091209051815494519092167b01000000000000000000000000000000000000000000000000000000029183167fffffffffff00000000000000000000000000000000000000000000000000000090941693909317909116179055565b60008251845114612b2a5760405162461bcd60e51b81526004018080602001828103825260388152602001806130eb6038913960400191505060405180910390fd5b61025842018210612b82576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015612ccb576000858281518110612b9c57fe5b60200260200101519050848281518110612bb257fe5b602002602001015160001415612bf95760405162461bcd60e51b81526004018080602001828103825260398152602001806131a96039913960400191505060405180910390fd5b807f6f555344000000000000000000000000000000000000000000000000000000001415612c585760405162461bcd60e51b81526004018080602001828103825260318152602001806131786031913960400191505060405180910390fd5b612c6181612305565b841015612c6e5750612cc3565b612c8b81868481518110612c7e57fe5b6020026020010151612e00565b858381518110612c9757fe5b602002602001018181525050612cc181868481518110612cb357fe5b602002602001015186612a2b565b505b600101612b85565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015612d33578181015183820152602001612d1b565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015612d72578181015183820152602001612d5a565b5050505090500194505050505060405180910390a15060019392505050565b600080600a8304612da8868663ffffffff6129d216565b81612daf57fe5b0490506005600a825b0610612dc257600a015b600a9004949350505050565b600080612df484612de887600a870263ffffffff6129d216565b9063ffffffff612f2016565b90506005600a82612db8565b60008281526009602052604081208054612e1d5782915050610c5a565b6000612e2885611b41565b600383015490915060ff16610ca1578154600090612e4d90600263ffffffff6129d216565b9050848111612e5f5760009150612e72565b612e6f818663ffffffff612f8a16565b91505b82600101548210612e895782600101549150612e9c565b82600201548211612e9c57826002015491505b8260010154821480612eb15750826002015482145b15612f17576003830180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040805187815290517f4b3d3f51dab37576ab4ca08ebdb81d4a4c587f25df5cc1f9a620a7faff84aba89181900360200190a15b50949350505050565b6000808211612f76576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481612f8157fe5b04949350505050565b600082821115612fe1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080518082019091526000808252602082015290565b81548183558181111561107e5760008381526020902061107e91810190830161303b91905b808211156130375760008155600101613023565b5090565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c7920746865206f7261636c652063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e6c6f7765724c696d6974206d7573742062652062656c6f772074686520656e747279506f696e7475707065724c696d6974206d757374206265206c657373207468616e20646f75626c6520656e747279506f696e7452617465206f66206f5553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e5a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e75707065724c696d6974206d7573742062652061626f76652074686520656e747279506f696e74a265627a7a7231582093f7f0ff4ed7616d02bda8593b581efef4dbc8461c9c3091325c088b992a964164736f6c6343000510003243757272656e6379206b6579206c656e67746820616e642072617465206c656e677468206d757374206d617463682e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e52617465206f66206f5553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e5a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_oracle",
							"type": "address"
						},
						{
							"internalType": "bytes32[]",
							"name": "_currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_newRates",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorAdded",
					"type": "event",
					"signature": "0x0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorRemoved",
					"type": "event",
					"signature": "0xec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						}
					],
					"name": "InversePriceConfigured",
					"type": "event",
					"signature": "0x37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "InversePriceFrozen",
					"type": "event",
					"signature": "0x4b3d3f51dab37576ab4ca08ebdb81d4a4c587f25df5cc1f9a620a7faff84aba8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOracle",
							"type": "address"
						}
					],
					"name": "OracleUpdated",
					"type": "event",
					"signature": "0x3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "RateDeleted",
					"type": "event",
					"signature": "0xe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rateStalePeriod",
							"type": "uint256"
						}
					],
					"name": "RateStalePeriodUpdated",
					"type": "event",
					"signature": "0x16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e66"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "newRates",
							"type": "uint256[]"
						}
					],
					"name": "RatesUpdated",
					"type": "event",
					"signature": "0x1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba57"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "aggregatorAddress",
							"type": "address"
						}
					],
					"name": "addAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3f0e084f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "aggregatorKeys",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4f72def6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "aggregators",
					"outputs": [
						{
							"internalType": "contract AggregatorInterface",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7103353e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "anyRateIsStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2d227674"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currentRoundForRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x935f4abd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "deleteRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x45938849"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "effectiveValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x654a60ac"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "effectiveValueAndRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "sourceRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "destinationRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8295016a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "effectiveValueAtRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x266da16b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getCurrentRoundId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7a018a1e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "startingRoundId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startingTimestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timediff",
							"type": "uint256"
						}
					],
					"name": "getLastRoundIdBeforeElapsedSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x109e46a2"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "inversePricing",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "frozen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x728dec29"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "invertedKeys",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2ea913d4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "lastRateUpdateTimes",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xce8480ea"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "lastRateUpdateTimesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05a046e5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "oracle",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7dc0d1d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "roundId",
							"type": "uint256"
						}
					],
					"name": "rateAndTimestampAtRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfdadbc7e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateAndUpdatedTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4308a94f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateForCurrency",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac82f608"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsFrozen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf3aea86"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x009919c0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ee4951b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "ratesAndStaleForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbabcb423"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "numRounds",
							"type": "uint256"
						}
					],
					"name": "ratesAndUpdatedTimeForCurrencyLastNRounds",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "rates",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "times",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2d7371e1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "ratesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc2c8a676"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2bed9e0c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeInversePricing",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc8e6f395"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "freeze",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "freezeAtUpperLimit",
							"type": "bool"
						}
					],
					"name": "setInversePricing",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb199c764"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_oracle",
							"type": "address"
						}
					],
					"name": "setOracle",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7adbf973"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_time",
							"type": "uint256"
						}
					],
					"name": "setRateStalePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79cb657a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "newRates",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "timeSent",
							"type": "uint256"
						}
					],
					"name": "updateRates",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbfa005ce"
				}
			]
		},
		"RewardEscrow": {
			"bytecode": "608060405234801561001057600080fd5b5060405161135a38038061135a8339818101604052606081101561003357600080fd5b5080516020820151604090920151909190826001600160a01b0381166100a0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039384166001600160a01b0319918216179091556003805492909316911617905550611225806101356000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80636b3905c4116100de5780639b217f9011610097578063d0cc82e311610071578063d0cc82e31461045d578063da7bd3e914610465578063ee1d036c14610491578063fe46a480146104bd57610173565b80639b217f90146103fd578063ae2e933b14610429578063b5ddb9c71461043157610173565b80636b3905c41461037357806370a082311461039957806371e780f3146103bf57806379ba5097146103c75780638da5cb5b146103cf57806397f46527146103d757610173565b80632f5bb661116101305780632f5bb6611461026e578063326a3cfb146102cf578063449d0eb1146102f5578063458efde31461033157806345e5441f1461033957806353a47bb71461036b57610173565b80630c7c95ad146101785780631627540c1461019c57806319db2228146101c457806319e740c0146101ea578063204b676a14610222578063227d517a14610248575b600080fd5b6101806104e3565b604080516001600160a01b039092168252519081900360200190f35b6101c2600480360360208110156101b257600080fd5b50356001600160a01b03166104f2565b005b6101c2600480360360208110156101da57600080fd5b50356001600160a01b031661058f565b6102106004803603602081101561020057600080fd5b50356001600160a01b031661062c565b60408051918252519081900360200190f35b6102106004803603602081101561023857600080fd5b50356001600160a01b031661066e565b6102106004803603602081101561025e57600080fd5b50356001600160a01b0316610689565b6102946004803603602081101561028457600080fd5b50356001600160a01b031661069b565b6040518082600260200280838360005b838110156102bc5781810151838201526020016102a4565b5050505090500191505060405180910390f35b610210600480360360208110156102e557600080fd5b50356001600160a01b03166106ec565b61031b6004803603602081101561030b57600080fd5b50356001600160a01b03166106fe565b60405181518152808261410080838360206102a4565b6101c2610784565b6102106004803603606081101561034f57600080fd5b506001600160a01b03813516906020810135906040013561096d565b6101806109a9565b6102106004803603602081101561038957600080fd5b50356001600160a01b03166109b8565b610210600480360360208110156103af57600080fd5b50356001600160a01b03166109d1565b6102106109ec565b6101c26109f2565b610180610aae565b610210600480360360208110156103ed57600080fd5b50356001600160a01b0316610abd565b6102106004803603604081101561041357600080fd5b506001600160a01b038135169060200135610acf565b610180610aea565b6101c26004803603604081101561044757600080fd5b506001600160a01b038135169060200135610af9565b610210610b52565b6102946004803603604081101561047b57600080fd5b506001600160a01b038135169060200135610b58565b610210600480360360408110156104a757600080fd5b506001600160a01b038135169060200135610bc7565b6101c2600480360360208110156104d357600080fd5b50356001600160a01b0316610bda565b6002546001600160a01b031681565b6000546001600160a01b0316331461053b5760405162461bcd60e51b815260040180806020018281038252602f815260200180611190602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000546001600160a01b031633146105d85760405162461bcd60e51b815260040180806020018281038252602f815260200180611190602f913960400191505060405180910390fd5b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb62959181900360200190a150565b6000806106388361066e565b905060005b818110156106655761064f8482610acf565b1561065d5791506106699050565b60010161063d565b5090505b919050565b6001600160a01b031660009081526004602052604090205490565b60066020526000908152604090205481565b6106a3611010565b60006106ae8361062c565b90506106b98361066e565b8114156106db5750506040805180820190915260008082526020820152610669565b6106e58382610b58565b9392505050565b60056020526000908152604090205481565b61070661102e565b61070e61102e565b60006107198461066e565b905060005b8181101561077b5761072e611010565b6107388683610b58565b80519091508460028402610208811061074d57fe5b602002015280600160200201518483600202600101610208811061076d57fe5b60200201525060010161071e565b50909392505050565b600061078f3361066e565b90506000805b828110156108345760006107a93383610acf565b9050428111156107b95750610834565b60006107c53384610bc7565b9050801561082a576040805180820182526000808252602080830182905233825260049052919091208054859081106107fa57fe5b906000526020600020906002020190600261081692919061104e565b50610827848263ffffffff610c7716565b93505b5050600101610795565b5080156109695760075461084e908263ffffffff610cd116565b60075533600090815260056020526040902054610871908263ffffffff610cd116565b3360009081526005602090815260408083209390935560069052205461089d908263ffffffff610c7716565b33600081815260066020908152604080832094909455600254845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b15801561090257600080fd5b505af1158015610916573d6000803e3d6000fd5b505050506040513d602081101561092c57600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b6004602052826000526040600020828154811061098657fe5b9060005260206000209060020201816002811061099f57fe5b0154925083915050565b6001546001600160a01b031681565b60006109c38261069b565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b60075481565b6001546001600160a01b03163314610a3b5760405162461bcd60e51b81526004018080602001828103825260358152602001806110dd6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000610ac88261069b565b60016109c6565b6000610adb8383610b58565b60005b60200201519392505050565b6003546001600160a01b031681565b6003546001600160a01b0316331480610b435760405162461bcd60e51b81526004018080602001828103825260328152602001806111bf6032913960400191505060405180910390fd5b610b4d8383610d2e565b505050565b61010481565b610b60611010565b6001600160a01b0383166000908152600460205260409020805483908110610b8457fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610ba7575050505050905092915050565b6000610bd38383610b58565b6001610ade565b6000546001600160a01b03163314610c235760405162461bcd60e51b815260040180806020018281038252602f815260200180611190602f913960400191505060405180910390fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fcb046e61ab451d5fec11d3dfc4c550475bd0abd8df74a421c34be433f197c4df9181900360200190a150565b6000828201838110156106e5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115610d28576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80610d80576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b600754610d93908263ffffffff610c7716565b600755600254604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610de157600080fd5b505afa158015610df5573d6000803e3d6000fd5b505050506040513d6020811015610e0b57600080fd5b50516007541115610e4d5760405162461bcd60e51b81526004018080602001828103825260478152602001806111496047913960600191505060405180910390fd5b6001600160a01b038216600090815260046020526040902054610104811115610ebd576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b6301dfe200420181610ee9576001600160a01b0384166000908152600560205260409020839055610f76565b80610ef78560018503610acf565b10610f335760405162461bcd60e51b81526004018080602001828103825260378152602001806111126037913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054610f5c908463ffffffff610c7716565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925284825281830187905280546001810180835591855292909320610fc59260029081029091019190611091565b5050604080514281526020810185905281516001600160a01b038716927fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c928290030190a250505050565b60405180604001604052806002906020820280388339509192915050565b604051806141000160405280610208906020820280388339509192915050565b8260028101928215611081579160200282015b82811115611081578251829060ff16905591602001919060010190611061565b5061108d9291506110bf565b5090565b8260028101928215611081579160200282015b828111156110815782518255916020019190600101906110a4565b6110d991905b8082111561108d57600081556001016110c5565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e20706572666f726d207468697320616374696f6ea265627a7a7231582035cce512550d4690dc6ce46e5beeb5ceb956530822fda101fb982f0833a7ac7264736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IOikos",
							"name": "_oikos",
							"type": "address"
						},
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newFeePool",
							"type": "address"
						}
					],
					"name": "FeePoolUpdated",
					"type": "event",
					"signature": "0x6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb6295"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOikos",
							"type": "address"
						}
					],
					"name": "OikosUpdated",
					"type": "event",
					"signature": "0xcb046e61ab451d5fec11d3dfc4c550475bd0abd8df74a421c34be433f197c4df"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "VestingEntryCreated",
					"type": "event",
					"signature": "0xedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_VESTING_ENTRIES",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0cc82e3"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5ddb9c7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAccountSchedule",
					"outputs": [
						{
							"internalType": "uint256[520]",
							"name": "",
							"type": "uint256[520]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x449d0eb1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"internalType": "contract IFeePool",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae2e933b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f5bb661"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19e740c0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97f46527"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b3905c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee1d036c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingScheduleEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda7bd3e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9b217f90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "oikos",
					"outputs": [
						{
							"internalType": "contract IOikos",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0c7c95ad"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19db2228"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IOikos",
							"name": "_oikos",
							"type": "address"
						}
					],
					"name": "setOikos",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfe46a480"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x326a3cfb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x71e780f3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x458efde3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45e5441f"
				}
			]
		},
		"OikosEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516114b93803806114b98339818101604052604081101561003357600080fd5b5080516020909101516249d400826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b0319166001600160a01b03929092169190911790555061138f8061012a6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80636b3905c4116100de5780639b217f9011610097578063d0cc82e311610071578063d0cc82e3146104fe578063da7bd3e914610506578063ee1d036c14610532578063fe46a4801461055e5761018e565b80639b217f90146103f8578063a15d59ce14610424578063bb2a7d0c1461042c5761018e565b80636b3905c41461036e57806370a082311461039457806379ba5097146103ba5780638ad58777146103c25780638da5cb5b146103ca57806397f46527146103d25761018e565b8063227d517a1161014b57806345e5441f1161012557806345e5441f1461032457806346ba2d901461035657806353a47bb71461035e57806363667eb7146103665761018e565b8063227d517a146102955780632f5bb661146102bb578063458efde31461031c5761018e565b80630c7c95ad14610193578063135c0701146101b75780631627540c146101df57806319e740c0146102055780631bb47b441461023d578063204b676a1461026f575b600080fd5b61019b610584565b604080516001600160a01b039092168252519081900360200190f35b6101dd600480360360208110156101cd57600080fd5b50356001600160a01b0316610593565b005b6101dd600480360360208110156101f557600080fd5b50356001600160a01b0316610685565b61022b6004803603602081101561021b57600080fd5b50356001600160a01b0316610722565b60408051918252519081900360200190f35b6101dd6004803603606081101561025357600080fd5b506001600160a01b038135169060208101359060400135610764565b61022b6004803603602081101561028557600080fd5b50356001600160a01b0316610ae0565b61022b600480360360208110156102ab57600080fd5b50356001600160a01b0316610afb565b6102e1600480360360208110156102d157600080fd5b50356001600160a01b0316610b0d565b6040518082600260200280838360005b838110156103095781810151838201526020016102f1565b5050505090500191505060405180910390f35b6101dd610b5e565b61022b6004803603606081101561033a57600080fd5b506001600160a01b038135169060208101359060400135610d1b565b61022b610d57565b61019b610d5d565b61022b610d6c565b61022b6004803603602081101561038457600080fd5b50356001600160a01b0316610d71565b61022b600480360360208110156103aa57600080fd5b50356001600160a01b0316610d8a565b6101dd610da5565b61022b610e61565b61019b610e66565b61022b600480360360208110156103e857600080fd5b50356001600160a01b0316610e75565b61022b6004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610e87565b61022b610ea2565b6101dd6004803603606081101561044257600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561046d57600080fd5b82018360208201111561047f57600080fd5b803590602001918460208302840111640100000000831117156104a157600080fd5b9193909290916020810190356401000000008111156104bf57600080fd5b8201836020820111156104d157600080fd5b803590602001918460208302840111640100000000831117156104f357600080fd5b509092509050610ea8565b61022b610f73565b6102e16004803603604081101561051c57600080fd5b506001600160a01b038135169060200135610f78565b61022b6004803603604081101561054857600080fd5b506001600160a01b038135169060200135610fe7565b6101dd6004803603602081101561057457600080fd5b50356001600160a01b0316610ffa565b6003546001600160a01b031681565b6000546001600160a01b031633146105dc5760405162461bcd60e51b815260040180806020018281038252602f815260200180611303602f913960400191505060405180910390fd5b600254421061061c5760405162461bcd60e51b81526004018080602001828103825260298152602001806113326029913960400191505060405180910390fd5b6001600160a01b038116600090815260046020526040812061063d9161114e565b6001600160a01b0381166000908152600560205260409020546006546106689163ffffffff61109716565b6006556001600160a01b0316600090815260056020526040812055565b6000546001600160a01b031633146106ce5760405162461bcd60e51b815260040180806020018281038252602f815260200180611303602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008061072e83610ae0565b905060005b8181101561075b576107458482610e87565b1561075357915061075f9050565b600101610733565b5090505b919050565b6000546001600160a01b031633146107ad5760405162461bcd60e51b815260040180806020018281038252602f815260200180611303602f913960400191505060405180910390fd5b60025442106107ed5760405162461bcd60e51b81526004018080602001828103825260298152602001806113326029913960400191505060405180910390fd5b814210610841576040805162461bcd60e51b815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015290519081900360640190fd5b80610893576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b6006546108a6908263ffffffff6110f416565b600655600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156108f457600080fd5b505afa158015610908573d6000803e3d6000fd5b505050506040513d602081101561091e57600080fd5b505160065411156109605760405162461bcd60e51b81526004018080602001828103825260478152602001806112bc6047913960600191505060405180910390fd5b6001600160a01b03831660009081526004602052604090205460148111156109cf576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b806109f4576001600160a01b0384166000908152600560205260409020829055610a89565b82610a0a856001610a0488610ae0565b03610e87565b10610a465760405162461bcd60e51b81526004018080602001828103825260378152602001806112856037913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054610a6f908363ffffffff6110f416565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925286825281830186905280546001810180835591855292909320610ad89260029081029091019190611172565b505050505050565b6001600160a01b031660009081526004602052604090205490565b60056020526000908152604090205481565b610b156111b0565b6000610b2083610722565b9050610b2b83610ae0565b811415610b4d575050604080518082019091526000808252602082015261075f565b610b578382610f78565b9392505050565b6000610b6933610ae0565b90506000805b82811015610c0e576000610b833383610e87565b905042811115610b935750610c0e565b6000610b9f3384610fe7565b90508015610c0457604080518082018252600080825260208083018290523382526004905291909120805485908110610bd457fe5b9060005260206000209060020201906002610bf09291906111ce565b50610c01848263ffffffff6110f416565b93505b5050600101610b6f565b508015610d1757600654610c28908263ffffffff61109716565b60065533600090815260056020526040902054610c4b908263ffffffff61109716565b33600081815260056020908152604080832094909455600354845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b158015610cb057600080fd5b505af1158015610cc4573d6000803e3d6000fd5b505050506040513d6020811015610cda57600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b60046020528260005260406000208281548110610d3457fe5b90600052602060002090600202018160028110610d4d57fe5b0154925083915050565b60025481565b6001546001600160a01b031681565b600081565b6000610d7c82610b0d565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b6001546001600160a01b03163314610dee5760405162461bcd60e51b81526004018080602001828103825260358152602001806112506035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600181565b6000546001600160a01b031681565b6000610e8082610b0d565b6001610d7f565b6000610e938383610f78565b60005b60200201519392505050565b60065481565b6000546001600160a01b03163314610ef15760405162461bcd60e51b815260040180806020018281038252602f815260200180611303602f913960400191505060405180910390fd5b6002544210610f315760405162461bcd60e51b81526004018080602001828103825260298152602001806113326029913960400191505060405180910390fd5b60005b83811015610ad857610f6b86868684818110610f4c57fe5b90506020020135858585818110610f5f57fe5b90506020020135610764565b600101610f34565b601481565b610f806111b0565b6001600160a01b0383166000908152600460205260409020805483908110610fa457fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610fc7575050505050905092915050565b6000610ff38383610f78565b6001610e96565b6000546001600160a01b031633146110435760405162461bcd60e51b815260040180806020018281038252602f815260200180611303602f913960400191505060405180910390fd5b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fcb046e61ab451d5fec11d3dfc4c550475bd0abd8df74a421c34be433f197c4df9181900360200190a150565b6000828211156110ee576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610b57576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b508054600082556002029060005260206000209081019061116f9190611201565b50565b82600281019282156111a0579160200282015b828111156111a0578251825591602001919060010190611185565b506111ac929150611227565b5090565b60405180604001604052806002906020820280388339509192915050565b82600281019282156111a0579160200282015b828111156111a0578251829060ff169055916020019190600101906111e1565b61122491905b808211156111ac57600061121b8282611241565b50600201611207565b90565b61122491905b808211156111ac576000815560010161122d565b50600081556001016000905556fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a7231582021965e2d63a4f4070d147c9e46703932cc67290d3f263bfbda8cb09bb4c8309d64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IOikos",
							"name": "_oikos",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOikos",
							"type": "address"
						}
					],
					"name": "OikosUpdated",
					"type": "event",
					"signature": "0xcb046e61ab451d5fec11d3dfc4c550475bd0abd8df74a421c34be433f197c4df"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_VESTING_ENTRIES",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0cc82e3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "QUANTITY_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8ad58777"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TIME_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x63667eb7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "times",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "quantities",
							"type": "uint256[]"
						}
					],
					"name": "addVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb2a7d0c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bb47b44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f5bb661"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19e740c0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97f46527"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b3905c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee1d036c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingScheduleEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda7bd3e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9b217f90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "oikos",
					"outputs": [
						{
							"internalType": "contract IOikos",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0c7c95ad"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "purgeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x135c0701"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IOikos",
							"name": "_oikos",
							"type": "address"
						}
					],
					"name": "setOikos",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfe46a480"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalVestedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa15d59ce"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x458efde3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45e5441f"
				}
			]
		},
		"OikosState": {
			"bytecode": "60806040819052630241ebdb60e61b815260059073__$4802e0d2e3369b7a250bee720170cb9bae$__9063907af6c09060849060209060048186803b15801561004757600080fd5b505af415801561005b573d6000803e3d6000fd5b505050506040513d602081101561007157600080fd5b50518161007a57fe5b0460075534801561008a57600080fd5b50604051610cc3380380610cc3833981810160405260408110156100ad57600080fd5b50805160209091015162093a8081836001600160a01b038116610117576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b03166101c1576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15042016003555050610a9a806102296000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806379ba5097116100b8578063aefc4ccb1161007c578063aefc4ccb146102ba578063b16c09f0146102c2578063b410a034146102e8578063b992812e146102f0578063ba08f2991461032a578063cd92eba91461033257610137565b806379ba5097146102375780638b3f80881461023f5780638da5cb5b1461027e5780639371bede14610286578063a764eb451461028e57610137565b806346317712116100ff57806346317712146101d557806346ba2d90146101dd57806352f445ca146101e557806353a47bb71461020b578063657c6dc71461022f57610137565b8063054be0b71461013c57806308d95cd51461015b5780631627540c1461018a5780631bfba595146101b05780633d31e97b146101b8575b600080fd5b6101596004803603602081101561015257600080fd5b503561033a565b005b6101786004803603602081101561017157600080fd5b5035610405565b60408051918252519081900360200190f35b610159600480360360208110156101a057600080fd5b50356001600160a01b0316610423565b6101596104c0565b610159600480360360208110156101ce57600080fd5b5035610522565b6101786105a0565b6101786105c6565b610159600480360360208110156101fb57600080fd5b50356001600160a01b03166105cc565b610213610669565b604080516001600160a01b039092168252519081900360200190f35b610178610678565b610159610684565b6102656004803603602081101561025557600080fd5b50356001600160a01b0316610740565b6040805192835260208301919091528051918290030190f35b610213610759565b610178610768565b610159600480360360408110156102a457600080fd5b506001600160a01b03813516906020013561076e565b6102136107de565b610159600480360360208110156102d857600080fd5b50356001600160a01b03166107ed565b610178610856565b6103166004803603602081101561030657600080fd5b50356001600160a01b031661085c565b604080519115158252519081900360200190f35b610159610879565b6101786108d6565b6000546001600160a01b031633146103835760405162461bcd60e51b815260040180806020018281038252602f8152602001806109d0602f913960400191505060405180910390fd5b670de0b6b3a76400008111156103ca5760405162461bcd60e51b8152600401808060200182810382526033815260200180610a336033913960400191505060405180910390fd5b60078190556040805182815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529181900360200190a150565b6006818154811061041257fe5b600091825260209091200154905081565b6000546001600160a01b0316331461046c5760405162461bcd60e51b815260040180806020018281038252602f8152602001806109d0602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146105095760405162461bcd60e51b81526004018080602001828103825260348152602001806109ff6034913960400191505060405180910390fd5b60055461051d90600163ffffffff6108dc16565b600555565b6002546001600160a01b0316331461056b5760405162461bcd60e51b81526004018080602001828103825260348152602001806109ff6034913960400191505060405180910390fd5b600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0155565b600680546000919060001981019081106105b657fe5b9060005260206000200154905090565b60035481565b6000546001600160a01b031633146106155760405162461bcd60e51b815260040180806020018281038252602f8152602001806109d0602f913960400191505060405180910390fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b670de0b6b3a764000081565b6001546001600160a01b031633146106cd5760405162461bcd60e51b815260040180806020018281038252603581526020018061099b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6004602052600090815260409020805460019091015482565b6000546001600160a01b031681565b60055481565b6002546001600160a01b031633146107b75760405162461bcd60e51b81526004018080602001828103825260348152602001806109ff6034913960400191505060405180910390fd5b6001600160a01b039091166000908152600460205260409020908155600654600190910155565b6002546001600160a01b031681565b6002546001600160a01b031633146108365760405162461bcd60e51b81526004018080602001828103825260348152602001806109ff6034913960400191505060405180910390fd5b6001600160a01b0316600090815260046020526040812081815560010155565b60075481565b6001600160a01b0316600090815260046020526040902054151590565b6002546001600160a01b031633146108c25760405162461bcd60e51b81526004018080602001828103825260348152602001806109ff6034913960400191505060405180910390fd5b60055461051d90600163ffffffff61093d16565b60065490565b600082820183811015610936576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610994576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e4e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494fa265627a7a723158208cc921e4a5b1cb584b0e39716a366e62e88ca9529500af1879062c8115ef196964736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "IssuanceRatioUpdated",
					"type": "event",
					"signature": "0x63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d885452"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ISSUANCE_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x657c6dc7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "appendDebtLedgerValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3d31e97b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "clearIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb16c09f0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "debtLedger",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x08d95cd5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtLedgerLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd92eba9"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "decrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba08f299"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "hasIssued",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb992812e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "incrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bfba595"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "issuanceData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8b3f8088"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastDebtLedgerEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46317712"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						}
					],
					"name": "setCurrentIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa764eb45"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						}
					],
					"name": "setIssuanceRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x054be0b7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9371bede"
				}
			]
		},
		"Proxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516107253803806107258339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061062b806100fa6000396000f3fe6080604052600436106100705760003560e01c806379ba50971161004e57806379ba5097146101925780638da5cb5b146101a7578063907dff97146101bc578063d4b839921461025157610070565b80631627540c146100f957806353a47bb71461012e578063776d1a011461015f575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b1580156100bc57600080fd5b505af11580156100d0573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e806100f5573d82fd5b3d82f35b34801561010557600080fd5b5061012c6004803603602081101561011c57600080fd5b50356001600160a01b0316610266565b005b34801561013a57600080fd5b50610143610303565b604080516001600160a01b039092168252519081900360200190f35b34801561016b57600080fd5b5061012c6004803603602081101561018257600080fd5b50356001600160a01b0316610312565b34801561019e57600080fd5b5061012c6103af565b3480156101b357600080fd5b5061014361046b565b3480156101c857600080fd5b5061012c600480360360c08110156101df57600080fd5b8101906020810181356401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184600183028401116401000000008311171561022e57600080fd5b91935091508035906020810135906040810135906060810135906080013561047a565b34801561025d57600080fd5b50610143610583565b6000546001600160a01b031633146102af5760405162461bcd60e51b815260040180806020018281038252602f8152602001806105c8602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6000546001600160a01b0316331461035b5760405162461bcd60e51b815260040180806020018281038252602f8152602001806105c8602f913960400191505060405180910390fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b031633146103f85760405162461bcd60e51b81526004018080602001828103825260358152602001806105936035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031633146104d0576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a90849081908401838280828437600092019190915250929350899250508115905061053a57600181146105455760028114610551576003811461055e576004811461056c57610577565b8260208301a0610577565b868360208401a1610577565b85878460208501a2610577565b8486888560208601a3610577565b838587898660208701a45b50505050505050505050565b6002546001600160a01b03168156fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820372ebd607dce0039486a7fc08cd5332005a20e836d16a389e05326e404b70b6d64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes",
							"name": "callData",
							"type": "bytes"
						},
						{
							"internalType": "uint256",
							"name": "numTopics",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "topic1",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic2",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic3",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic4",
							"type": "bytes32"
						}
					],
					"name": "_emit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x907dff97"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				}
			]
		},
		"EternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b5060405161124b38038061124b8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506110a5806101a66000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104e9578063bdc963d814610506578063c9a52d2c14610523578063f58660661461059a576101a9565b8063a209a29c146104a1578063a77aa49e146104be578063aefc4ccb146104e1576101a9565b80638267a9ee116100d35780638267a9ee146104425780638da5cb5b1461045f5780639007127b1461046757806393fe424814610484576101a9565b806353a47bb7146104065780635a2bf25a1461040e57806379ba50971461043a576101a9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed2146102f057806344bfa56e146103155780634c77e5ba146103a757806352f445ca146103e0576101a9565b806325cf512d1461028d5780633562fd20146102b05780633cc1635c146102d3576101a9565b8063025ec81a146101ae578063043106c0146101dd5780630c55d925146101fc578063124f2418146102195780631627540c1461023657806317e7dd221461025c575b600080fd5b6101cb600480360360208110156101c457600080fd5b5035610611565b60408051918252519081900360200190f35b6101fa600480360360208110156101f357600080fd5b5035610623565b005b6101fa6004803603602081101561021257600080fd5b503561068a565b6101fa6004803603602081101561022f57600080fd5b50356106ed565b6101fa6004803603602081101561024c57600080fd5b50356001600160a01b0316610747565b6102796004803603602081101561027257600080fd5b50356107e4565b604080519115158252519081900360200190f35b6101fa600480360360408110156102a357600080fd5b50803590602001356107f9565b6101fa600480360360408110156102c657600080fd5b5080359060200135610854565b6101fa600480360360208110156102e957600080fd5b50356108af565b6101fa6004803603604081101561030657600080fd5b50803590602001351515610910565b6103326004803603602081101561032b57600080fd5b5035610979565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036c578181015183820152602001610354565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c4600480360360208110156103bd57600080fd5b5035610a1a565b604080516001600160a01b039092168252519081900360200190f35b6101fa600480360360208110156103f657600080fd5b50356001600160a01b0316610a35565b6103c4610ad2565b6101fa6004803603604081101561042457600080fd5b50803590602001356001600160a01b0316610ae1565b6101fa610b58565b6101fa6004803603602081101561045857600080fd5b5035610c14565b6103c4610c6e565b6101cb6004803603602081101561047d57600080fd5b5035610c7d565b6101fa6004803603602081101561049a57600080fd5b5035610c8f565b610332600480360360208110156104b757600080fd5b5035610ce9565b6101fa600480360360408110156104d457600080fd5b5080359060200135610d53565b6103c4610dae565b6101fa600480360360208110156104ff57600080fd5b5035610dbd565b6101cb6004803603602081101561051c57600080fd5b5035610e1d565b6101fa6004803603604081101561053957600080fd5b8135919081019060408101602082013564010000000081111561055b57600080fd5b82018360208201111561056d57600080fd5b8035906020019184600183028401116401000000008311171561058f57600080fd5b509092509050610e2f565b6101fa600480360360408110156105b057600080fd5b813591908101906040810160208201356401000000008111156105d257600080fd5b8201836020820111156105e457600080fd5b8035906020019184600183028401116401000000008311171561060657600080fd5b509092509050610e97565b60009081526007602052604090205490565b6002546001600160a01b0316331461066c5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146106d35760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60008181526006602052604081206106ea91610ef9565b50565b6002546001600160a01b031633146107365760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260076020526040812055565b6000546001600160a01b031633146107905760405162461bcd60e51b815260040180806020018281038252602f81526020018061100e602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108425760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461089d5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146108f85760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b031633146109595760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610a0e5780601f106109e357610100808354040283529160200191610a0e565b820191906000526020600020905b8154815290600101906020018083116109f157829003601f168201915b50505050509050919050565b6000908152600560205260409020546001600160a01b031690565b6000546001600160a01b03163314610a7e5760405162461bcd60e51b815260040180806020018281038252602f81526020018061100e602f913960400191505060405180910390fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b2a5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610ba15760405162461bcd60e51b8152600401808060200182810382526035815260200180610fd96035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610c5d5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610cd85760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610a0e5780601f106109e357610100808354040283529160200191610a0e565b6002546001600160a01b03163314610d9c5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6002546001600160a01b03163314610e065760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60008181526004602052604081206106ea91610ef9565b60009081526003602052604090205490565b6002546001600160a01b03163314610e785760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000838152600660205260409020610e91908383610f3d565b50505050565b6002546001600160a01b03163314610ee05760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000838152600460205260409020610e91908383610f3d565b50805460018160011615610100020316600290046000825580601f10610f1f57506106ea565b601f0160209004906000526020600020908101906106ea9190610fbb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f7e5782800160ff19823516178555610fab565b82800160010185558215610fab579182015b82811115610fab578235825591602001919060010190610f90565b50610fb7929150610fbb565b5090565b610fd591905b80821115610fb75760008155600101610fc1565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582096070a39b2786af27128a896a8ef2caa1c9dfd919b07e98236e171aebc02988764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				}
			]
		},
		"DelegateApprovals": {
			"bytecode": "61012060405269105c1c1c9bdd99505b1b60b21b60809081526d4275726e466f724164647265737360901b60a0526e4973737565466f724164647265737360881b60c0526e436c61696d466f724164647265737360881b60e0527145786368616e6765466f724164647265737360701b61010052610081906002906005610195565b5034801561008e57600080fd5b50604051610ff3380380610ff3833981810160405260408110156100b157600080fd5b508051602090910151816001600160a01b038116610116576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600780546001600160a01b0319166001600160a01b0392909216919091179055506101f0565b82600581019282156101c3579160200282015b828111156101c35782518255916020019190600101906101a8565b506101cf9291506101d3565b5090565b6101ed91905b808211156101cf57600081556001016101d9565b90565b610df4806101ff6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638da5cb5b116100de578063b5bb561911610097578063c5e17ab011610071578063c5e17ab014610487578063d8eeb7c11461048f578063e32b3f5214610497578063faf431bb1461049f5761018e565b8063b5bb561914610415578063b9156efa1461043b578063bc87acbf146104615761018e565b80638da5cb5b1461038357806398ff9c541461038b5780639c79ce35146103935780639cbc2ebe146103b95780639f61d336146103c1578063b42e0f15146103e75761018e565b8063447fbc631161014b5780636c8bc9fe116101255780636c8bc9fe146103015780636f95200b1461032757806379ba50971461034d5780637d3f0ba2146103555761018e565b8063447fbc631461029157806353a47bb7146102b757806359cec3d6146102db5761018e565b806304872617146101935780631627540c146101d557806321f4ae57146101fd5780632c70aecf1461022b5780634180e5b514610245578063431ce5401461026b575b600080fd5b6101c1600480360360408110156101a957600080fd5b506001600160a01b03813581169160200135166104cd565b604080519115158252519081900360200190f35b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166104f3565b005b6101c16004803603604081101561021357600080fd5b506001600160a01b0381358116916020013516610590565b6102336105af565b60408051918252519081900360200190f35b6101fb6004803603602081101561025b57600080fd5b50356001600160a01b03166105c5565b6101fb6004803603602081101561028157600080fd5b50356001600160a01b03166105e5565b6101fb600480360360208110156102a757600080fd5b50356001600160a01b0316610602565b6102bf610622565b604080516001600160a01b039092168252519081900360200190f35b6101fb600480360360208110156102f157600080fd5b50356001600160a01b0316610631565b6101fb6004803603602081101561031757600080fd5b50356001600160a01b031661064d565b6101fb6004803603602081101561033d57600080fd5b50356001600160a01b031661066a565b6101fb61069b565b6101c16004803603604081101561036b57600080fd5b506001600160a01b0381358116916020013516610757565b6102bf610775565b6102bf610784565b6101fb600480360360208110156103a957600080fd5b50356001600160a01b0316610793565b6102336107af565b6101fb600480360360208110156103d757600080fd5b50356001600160a01b03166107c0565b6101c1600480360360408110156103fd57600080fd5b506001600160a01b03813581169160200135166107dd565b6101fb6004803603602081101561042b57600080fd5b50356001600160a01b0316610870565b6101fb6004803603602081101561045157600080fd5b50356001600160a01b0316610958565b6101fb6004803603602081101561047757600080fd5b50356001600160a01b0316610978565b610233610990565b6102336109a6565b6102336109bf565b6101c1600480360360408110156104b557600080fd5b506001600160a01b03813581169160200135166109d4565b60006104ec6e4973737565466f724164647265737360881b84846109f2565b9392505050565b6000546001600160a01b0316331461053c5760405162461bcd60e51b815260040180806020018281038252602f815260200180610d91602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104ec6e436c61696d466f724164647265737360881b84846109f2565b6e4973737565466f724164647265737360881b81565b6105e26e436c61696d466f724164647265737360881b3383610a8f565b50565b6105e26e4973737565466f724164647265737360881b3383610baf565b6105e27145786368616e6765466f724164647265737360701b3383610a8f565b6001546001600160a01b031681565b6105e26d4275726e466f724164647265737360901b3383610baf565b6105e26e436c61696d466f724164647265737360881b3383610baf565b60005b60058110156106975761068f6002826005811061068657fe5b01543384610baf565b60010161066d565b5050565b6001546001600160a01b031633146106e45760405162461bcd60e51b8152600401808060200182810382526035815260200180610d5c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006104ec6d4275726e466f724164647265737360901b84846109f2565b6000546001600160a01b031681565b6007546001600160a01b031681565b6105e26d4275726e466f724164647265737360901b3383610a8f565b69105c1c1c9bdd99505b1b60b21b81565b6105e26e4973737565466f724164647265737360881b3383610a8f565b6007546000906001600160a01b03166317e7dd2261080969105c1c1c9bdd99505b1b60b21b8686610ce9565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561083d57600080fd5b505afa158015610851573d6000803e3d6000fd5b505050506040513d602081101561086757600080fd5b50519392505050565b6000546001600160a01b031633146108b95760405162461bcd60e51b815260040180806020018281038252602f815260200180610d91602f913960400191505060405180910390fd5b6001600160a01b0381166108fe5760405162461bcd60e51b8152600401808060200182810382526026815260200180610d366026913960400191505060405180910390fd5b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17916020908290030190a150565b6105e27145786368616e6765466f724164647265737360701b3383610baf565b6105e269105c1c1c9bdd99505b1b60b21b3383610a8f565b6e436c61696d466f724164647265737360881b81565b7145786368616e6765466f724164647265737360701b81565b6d4275726e466f724164647265737360901b81565b60006104ec7145786368616e6765466f724164647265737360701b84845b60006109fe83836107dd565b15610a0b575060016104ec565b6007546001600160a01b03166317e7dd22610a27868686610ce9565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a5b57600080fd5b505afa158015610a6f573d6000803e3d6000fd5b505050506040513d6020811015610a8557600080fd5b5051949350505050565b6001600160a01b038116610aea576040805162461bcd60e51b815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015290519081900360640190fd5b6007546001600160a01b0316633eba9ed2610b06858585610ce9565b60016040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610b4957600080fd5b505af1158015610b5d573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633693509081900390910190a2505050565b6007546001600160a01b03166317e7dd22610bcb858585610ce9565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610bff57600080fd5b505afa158015610c13573d6000803e3d6000fd5b505050506040513d6020811015610c2957600080fd5b505115610ce4576007546001600160a01b0316633cc1635c610c4c858585610ce9565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610c8257600080fd5b505af1158015610c96573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4193509081900390910190a25b505050565b6040805160208082018690526bffffffffffffffffffffffff19606086811b82168486015285901b1660548301528251604881840301815260689092019092528051910120939250505056fe43616e27742073657420657465726e616c53746f7261676520746f2061646472657373283029596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820ae9a5efa898c38a833a3010d63084e4084fa7e43d04ba8779bf04ae3378dc3ec64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a26336"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newEternalStorage",
							"type": "address"
						}
					],
					"name": "EternalStorageUpdated",
					"type": "event",
					"signature": "0xe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "WithdrawApproval",
					"type": "event",
					"signature": "0x7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "APPROVE_ALL",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbc2ebe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "BURN_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32b3f52"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CLAIM_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc5e17ab0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "EXCHANGE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd8eeb7c1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "ISSUE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2c70aecf"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc87acbf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9c79ce35"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4180e5b5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x447fbc63"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f61d336"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approvedAll",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb42e0f15"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canBurnFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7d3f0ba2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canClaimFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x21f4ae57"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canExchangeFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfaf431bb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canIssueFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04872617"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "eternalStorage",
					"outputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x98ff9c54"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f95200b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x59cec3d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6c8bc9fe"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb9156efa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x431ce540"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"name": "setEternalStorage",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5bb5619"
				}
			]
		},
		"Liquidations": {
			"bytecode": "6101406040526b53797374656d53746174757360a01b6080908152644f696b6f7360d81b60a0527f457465726e616c53746f726167654c69717569646174696f6e7300000000000060c052694f696b6f73537461746560b01b60e0526524b9b9bab2b960d11b610100526c45786368616e6765526174657360981b610120526200008e906005906006620002b7565b5062127500601d556706f05b59d3b20000601e5567016345785d8a0000601f55348015620000bb57600080fd5b50604051620024803803806200248083398181016040526040811015620000e157600080fd5b50805160209091015160408051610300810191829052829160059060189082845b8154815260200190600101908083116200010257508793505050506001600160a01b03811662000179576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000224576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b60188110156200028c5760008282601881106200024057fe5b6020020151146200027d5760048282601881106200025a57fe5b602090810291909101518254600181018455600093845291909220015562000283565b6200028c565b60010162000227565b5050600280546001600160a01b0319166001600160a01b0392909216919091179055506200031a9050565b8260188101928215620002e8579160200282015b82811115620002e8578251825591602001919060010190620002cb565b50620002f6929150620002fa565b5090565b6200031791905b80821115620002f6576000815560010162000301565b90565b612156806200032a6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063828afc4b1161010f578063ad2bc2d5116100a2578063c6c9d82811610071578063c6c9d82814610489578063d45c0d7e146104a6578063e3235c91146104cc578063f1076b25146104d4576101e5565b8063ad2bc2d51461042d578063add0989d14610453578063b2ea70541461045b578063c49e80a614610463576101e5565b8063974e9e7f116100de578063974e9e7f146103b6578063a0cf7451146103dc578063a4ce5b71146103e4578063ab49848c146103ec576101e5565b8063828afc4b146103635780638d1bd1be146103895780638da5cb5b14610391578063946ce8cd14610399576101e5565b806339a9df1b11610187578063631e144411610156578063631e1444146103255780636a0589661461034b57806374e889c91461035357806379ba50971461035b576101e5565b806339a9df1b146102a05780633be99e6f146102da57806353a47bb7146103005780635e0117d614610308576101e5565b80631627540c116101c35780631627540c1461024b5780631775765f1461027357806323f5589a1461027b5780632806a74314610283576101e5565b806304f3bcec146101ea578063085f95cd1461020e5780630ac045d514610228575b600080fd5b6101f26104dc565b604080516001600160a01b039092168252519081900360200190f35b6102166104eb565b60408051918252519081900360200190f35b6102166004803603604081101561023e57600080fd5b50803590602001356104f7565b6102716004803603602081101561026157600080fd5b50356001600160a01b031661065f565b005b6102166106fc565b610216610702565b6102716004803603602081101561029957600080fd5b5035610708565b6102c6600480360360208110156102b657600080fd5b50356001600160a01b03166107d3565b604080519115158252519081900360200190f35b610271600480360360208110156102f057600080fd5b50356001600160a01b03166107fe565b6101f261096c565b6102716004803603602081101561031e57600080fd5b503561097b565b6102c66004803603602081101561033b57600080fd5b50356001600160a01b0316610aaf565b610216610bca565b610216610be2565b610271610bfc565b6102166004803603602081101561037957600080fd5b50356001600160a01b0316610cb8565b610216610cd3565b6101f2610d5c565b610271600480360360208110156103af57600080fd5b5035610d6b565b610271600480360360208110156103cc57600080fd5b50356001600160a01b0316610f8f565b61021661100a565b610216611010565b6103f461101c565b604051808261030080838360005b8381101561041a578181015183820152602001610402565b5050505090500191505060405180910390f35b6102716004803603602081101561044357600080fd5b50356001600160a01b0316611066565b6102166112fe565b610216611305565b6102c66004803603602081101561047957600080fd5b50356001600160a01b0316611311565b6102166004803603602081101561049f57600080fd5b5035611455565b610271600480360360208110156104bc57600080fd5b50356001600160a01b0316611473565b610216611721565b610216611726565b6002546001600160a01b031681565b6703782dace9d9000081565b60008061050261172d565b6001600160a01b031663b410a0346040518163ffffffff1660e01b815260040160206040518083038186803b15801561053a57600080fd5b505afa15801561054e573d6000803e3d6000fd5b505050506040513d602081101561056457600080fd5b505160408051630241ebdb60e61b8152905191925060009173__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__9163907af6c0916004808301926020929190829003018186803b1580156105b757600080fd5b505af41580156105cb573d6000803e3d6000fd5b505050506040513d60208110156105e157600080fd5b5051905060006106076105fa868563ffffffff61177b16565b879063ffffffff6117a516565b9050600061064061063385610627601f548761180290919063ffffffff16565b9063ffffffff61177b16565b849063ffffffff6117a516565b9050610652828263ffffffff61186316565b9450505050505b92915050565b6000546001600160a01b031633146106a85760405162461bcd60e51b815260040180806020018281038252602f815260200180612045602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b601e5481565b601f5481565b6000546001600160a01b031633146107515760405162461bcd60e51b815260040180806020018281038252602f815260200180612045602f913960400191505060405180910390fd5b6703782dace9d900008111156107985760405162461bcd60e51b8152600401808060200182810382526021815260200180611f586021913960400191505060405180910390fd5b601f8190556040805182815290517fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e99181900360200190a150565b60006107dd611f21565b6107e68361188d565b90506107f58160000151611939565b9150505b919050565b6000546001600160a01b031633146108475760405162461bcd60e51b815260040180806020018281038252602f815260200180612045602f913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b03831617905560005b6004548110156109685760006004828154811061087e57fe5b600091825260209182902001546002546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b15801561090857600080fd5b505afa15801561091c573d6000803e3d6000fd5b505050506040513d602081101561093257600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610865565b5050565b6001546001600160a01b031681565b6000546001600160a01b031633146109c45760405162461bcd60e51b815260040180806020018281038252602f815260200180612045602f913960400191505060405180910390fd5b62278d00811115610a1c576040805162461bcd60e51b815260206004820152601960248201527f4d757374206265206c657373207468616e203330206461797300000000000000604482015290519081900360640190fd5b62015180811015610a74576040805162461bcd60e51b815260206004820152601a60248201527f4d7573742062652067726561746572207468616e203120646179000000000000604482015290519081900360640190fd5b601d8190556040805182815290517f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53989181900360200190a150565b6002546000906001600160a01b03838116911614610acf575060006107f9565b60005b600454811015610bc157600060048281548110610aeb57fe5b6000918252602080832090910154808352600382526040928390205460025484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b158015610b5157600080fd5b505afa158015610b65573d6000803e3d6000fd5b505050506040513d6020811015610b7b57600080fd5b50516001600160a01b0316141580610ba857506000818152600360205260409020546001600160a01b0316155b15610bb8576000925050506107f9565b50600101610ad2565b50600192915050565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b724c69717569646174696f6e446561646c696e6560681b81565b6001546001600160a01b03163314610c455760405162461bcd60e51b8152600401808060200182810382526035815260200180611f796035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610cc2611f21565b610ccb8361188d565b519392505050565b6000610d57601e5473__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1f57600080fd5b505af4158015610d33573d6000803e3d6000fd5b505050506040513d6020811015610d4957600080fd5b50519063ffffffff61194b16565b905090565b6000546001600160a01b031681565b6000546001600160a01b03163314610db45760405162461bcd60e51b815260040180806020018281038252602f815260200180612045602f913960400191505060405180910390fd5b610e4e610e39601f5473__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0157600080fd5b505af4158015610e15573d6000803e3d6000fd5b505050506040513d6020811015610e2b57600080fd5b50519063ffffffff61180216565b670de0b6b3a76400009063ffffffff61186316565b811115610e8c5760405162461bcd60e51b815260040180806020018281038252603881526020018061200d6038913960400191505060405180910390fd5b6000610f12671bc16d674ec80000610ea261172d565b6001600160a01b031663b410a0346040518163ffffffff1660e01b815260040160206040518083038186803b158015610eda57600080fd5b505afa158015610eee573d6000803e3d6000fd5b505050506040513d6020811015610f0457600080fd5b50519063ffffffff61177b16565b905080821015610f535760405162461bcd60e51b81526004018080602001828103825260288152602001806120fa6028913960400191505060405180910390fd5b601e8290556040805183815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9181900360200190a15050565b610f97611960565b6001600160a01b0316336001600160a01b031614610fe65760405162461bcd60e51b815260040180806020018281038252603e815260200180612074603e913960400191505060405180910390fd5b610fee611f21565b610ff78261188d565b80519091501561096857610968826119a3565b601d5481565b671bc16d674ec8000081565b611024611f38565b60005b600454811015611062576004818154811061103e57fe5b906000526020600020015482826018811061105557fe5b6020020152600101611027565b5090565b624f4b5360e81b611075611aeb565b6001600160a01b0316629919c0826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156110b757600080fd5b505afa1580156110cb573d6000803e3d6000fd5b505050506040513d60208110156110e157600080fd5b505115611131576040805162461bcd60e51b81526020600482015260196024820152780a4c2e8ca40e6e8c2d8ca40dee440dcdee840c240e6f2dce8d603b1b604482015290519081900360640190fd5b611139611b3c565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561117157600080fd5b505afa158015611185573d6000803e3d6000fd5b50505050611191611f21565b61119a8361188d565b80519091506111f0576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000604482015290519081900360640190fd5b60006111fa611b8c565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561124f57600080fd5b505afa158015611263573d6000803e3d6000fd5b505050506040513d602081101561127957600080fd5b5051905061128561172d565b6001600160a01b031663b410a0346040518163ffffffff1660e01b815260040160206040518083038186803b1580156112bd57600080fd5b505afa1580156112d1573d6000803e3d6000fd5b505050506040513d60208110156112e757600080fd5b505181116112f8576112f8846119a3565b50505050565b6201518081565b670de0b6b3a764000081565b60008061131c611b8c565b6001600160a01b031663a311c7c2846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561137157600080fd5b505afa158015611385573d6000803e3d6000fd5b505050506040513d602081101561139b57600080fd5b505190506113a761172d565b6001600160a01b031663b410a0346040518163ffffffff1660e01b815260040160206040518083038186803b1580156113df57600080fd5b505afa1580156113f3573d6000803e3d6000fd5b505050506040513d602081101561140957600080fd5b5051811161141b5760009150506107f9565b611423611f21565b61142c8461188d565b905061143b8160000151611939565b1561144b576001925050506107f9565b5060009392505050565b6004818154811061146257fe5b600091825260209091200154905081565b624f4b5360e81b611482611aeb565b6001600160a01b0316629919c0826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156114c457600080fd5b505afa1580156114d8573d6000803e3d6000fd5b505050506040513d60208110156114ee57600080fd5b50511561153e576040805162461bcd60e51b81526020600482015260196024820152780a4c2e8ca40e6e8c2d8ca40dee440dcdee840c240e6f2dce8d603b1b604482015290519081900360640190fd5b611546611b3c565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561157e57600080fd5b505afa158015611592573d6000803e3d6000fd5b5050505061159e611f21565b6115a78361188d565b8051909150156115e85760405162461bcd60e51b81526004018080602001828103825260278152602001806120d36027913960400191505060405180910390fd5b60006115f2611b8c565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561164757600080fd5b505afa15801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b5051601e549091508110156116b75760405162461bcd60e51b8152600401808060200182810382526035815260200180611fd86035913960400191505060405180910390fd5b60006116ce601d544261180290919063ffffffff16565b90506116db858233611bcd565b6040805182815290516001600160a01b038716917fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996919081900360200190a25050505050565b601881565b62278d0081565b6000610d57694f696b6f73537461746560b01b6040518060400160405280601a81526020017f4d697373696e67204f696b6f7353746174652061646472657373000000000000815250611cfa565b6000670de0b6b3a7640000611796848463ffffffff611da416565b8161179d57fe5b049392505050565b6000828211156117fc576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561185c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600061185c8261188185670de0b6b3a764000063ffffffff611da416565b9063ffffffff611dfd16565b611895611f21565b61189d611e67565b6001600160a01b031663bdc963d86118cb724c69717569646174696f6e446561646c696e6560681b85611eab565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156118ff57600080fd5b505afa158015611913573d6000803e3d6000fd5b505050506040513d602081101561192957600080fd5b5051815260006020820152919050565b60008082118015610659575050421190565b600061185c8383670de0b6b3a7640000611eea565b6000610d576524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b815250611cfa565b6119ab611e67565b6001600160a01b03166393fe42486119d9724c69717569646174696f6e446561646c696e6560681b84611eab565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611a0f57600080fd5b505af1158015611a23573d6000803e3d6000fd5b50505050611a2f611e67565b6001600160a01b031663043106c0611a5b702634b8bab4b230ba34b7b721b0b63632b960791b84611eab565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611a9157600080fd5b505af1158015611aa5573d6000803e3d6000fd5b50506040805142815290516001600160a01b03851693507f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c8792509081900360200190a250565b6000610d576c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676552617465732061646472657373000000815250611cfa565b6000610d576b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250611cfa565b6000610d57644f696b6f7360d81b604051806040016040528060158152602001744d697373696e67204f696b6f73206164647265737360581b815250611cfa565b611bd5611e67565b6001600160a01b0316633562fd20611c03724c69717569646174696f6e446561646c696e6560681b86611eab565b846040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015611c4157600080fd5b505af1158015611c55573d6000803e3d6000fd5b50505050611c61611e67565b6001600160a01b0316635a2bf25a611c8d702634b8bab4b230ba34b7b721b0b63632b960791b86611eab565b836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b158015611cdd57600080fd5b505af1158015611cf1573d6000803e3d6000fd5b50505050505050565b6000828152600360205260408120546001600160a01b03168281611d9c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d61578181015183820152602001611d49565b50505050905090810190601f168015611d8e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600082611db357506000610659565b82820282848281611dc057fe5b041461185c5760405162461bcd60e51b81526004018080602001828103825260218152602001806120b26021913960400191505060405180910390fd5b6000808211611e53576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611e5e57fe5b04949350505050565b6000610d577f457465726e616c53746f726167654c69717569646174696f6e730000000000006040518060600160405280602a8152602001611fae602a9139611cfa565b6040805160208082019490945260609290921b6bffffffffffffffffffffffff1916828201528051808303603401815260549092019052805191012090565b600080611f048461188187600a870263ffffffff611da416565b90506005600a820610611f1557600a015b600a9004949350505050565b604080518082019091526000808252602082015290565b604051806103000160405280601890602082028038833950919291505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c5459596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704d697373696e6720457465726e616c53746f726167654c69717569646174696f6e7320616464726573734163636f756e742069737375616e636520726174696f206973206c657373207468616e206c69717569646174696f6e20726174696f6c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c7479294f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4c69717569646174696f6e733a204f6e6c79207468652049737375657220636f6e74726163742063616e20706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774163636f756e7420616c726561647920666c616767656420666f72206c69717569646174696f6e6c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494fa265627a7a72315820ba8cf585d7979587aa3395f5db40e7bee9f09e63dd9e3ca2995c805f18c8ae5164736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "deadline",
							"type": "uint256"
						}
					],
					"name": "AccountFlaggedForLiquidation",
					"type": "event",
					"signature": "0xc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "AccountRemovedFromLiquidation",
					"type": "event",
					"signature": "0x9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c87"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDelay",
							"type": "uint256"
						}
					],
					"name": "LiquidationDelayUpdated",
					"type": "event",
					"signature": "0x9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c5398"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newPenalty",
							"type": "uint256"
						}
					],
					"name": "LiquidationPenaltyUpdated",
					"type": "event",
					"signature": "0xbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e9"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatioUpdated",
					"type": "event",
					"signature": "0x5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_CALLER",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6a058966"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_DEADLINE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x74e889c9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1076b25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_PENALTY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x085f95cd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb2ea7054"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xadd0989d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "RATIO_FROM_TARGET_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4ce5b71"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "calculateAmountToFixCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ac045d5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAndRemoveAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xad2bc2d5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "flagAccountForLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd45c0d7e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getLiquidationDeadlineForAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x828afc4b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isLiquidationDeadlinePassed",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x39a9df1b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isOpenForLiquidation",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc49e80a6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8d1bd1be"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0cf7451"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1775765f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "removeAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x974e9e7f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "setLiquidationDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5e0117d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "setLiquidationPenalty",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2806a743"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x946ce8cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				}
			]
		},
		"FeePoolEternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516115483803806115488339818101604052604081101561003357600080fd5b50805160209091015162375f00828280826001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610149576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050504201600a555050611395806101b36000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806353a47bb711610104578063a209a29c116100a2578063ba69fcaa11610071578063ba69fcaa146105d5578063bdc963d8146105f2578063c9a52d2c1461060f578063f586606614610684576101cf565b8063a209a29c146104cf578063a77aa49e146104ec578063aefc4ccb1461050f578063b3ffbd9e14610517576101cf565b80638267a9ee116100de5780638267a9ee146104705780638da5cb5b1461048d5780639007127b1461049557806393fe4248146104b2576101cf565b806353a47bb7146104345780635a2bf25a1461043c57806379ba509714610468576101cf565b80633562fd201161017157806344bfa56e1161014b57806344bfa56e1461033b57806346ba2d90146103cd5780634c77e5ba146103d557806352f445ca1461040e576101cf565b80633562fd20146102d65780633cc1635c146102f95780633eba9ed214610316576101cf565b8063124f2418116101ad578063124f24181461023f5780631627540c1461025c57806317e7dd221461028257806325cf512d146102b3576101cf565b8063025ec81a146101d4578063043106c0146102035780630c55d92514610222575b600080fd5b6101f1600480360360208110156101ea57600080fd5b50356106f9565b60408051918252519081900360200190f35b6102206004803603602081101561021957600080fd5b503561070b565b005b6102206004803603602081101561023857600080fd5b5035610772565b6102206004803603602081101561025557600080fd5b50356107d5565b6102206004803603602081101561027257600080fd5b50356001600160a01b031661082f565b61029f6004803603602081101561029857600080fd5b50356108cc565b604080519115158252519081900360200190f35b610220600480360360408110156102c957600080fd5b50803590602001356108e1565b610220600480360360408110156102ec57600080fd5b508035906020013561093c565b6102206004803603602081101561030f57600080fd5b5035610997565b6102206004803603604081101561032c57600080fd5b508035906020013515156109f8565b6103586004803603602081101561035157600080fd5b5035610a61565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561039257818101518382015260200161037a565b50505050905090810190601f1680156103bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f1610b02565b6103f2600480360360208110156103eb57600080fd5b5035610b08565b604080516001600160a01b039092168252519081900360200190f35b6102206004803603602081101561042457600080fd5b50356001600160a01b0316610b23565b6103f2610bc0565b6102206004803603604081101561045257600080fd5b50803590602001356001600160a01b0316610bcf565b610220610c46565b6102206004803603602081101561048657600080fd5b5035610d02565b6103f2610d5c565b6101f1600480360360208110156104ab57600080fd5b5035610d6b565b610220600480360360208110156104c857600080fd5b5035610d7d565b610358600480360360208110156104e557600080fd5b5035610dd7565b6102206004803603604081101561050257600080fd5b5080359060200135610e41565b6103f2610e9c565b6102206004803603604081101561052d57600080fd5b810190602081018135600160201b81111561054757600080fd5b82018360208201111561055957600080fd5b803590602001918460208302840111600160201b8311171561057a57600080fd5b919390929091602081019035600160201b81111561059757600080fd5b8201836020820111156105a957600080fd5b803590602001918460208302840111600160201b831117156105ca57600080fd5b509092509050610eab565b610220600480360360208110156105eb57600080fd5b5035611084565b6101f16004803603602081101561060857600080fd5b50356110e4565b6102206004803603604081101561062557600080fd5b81359190810190604081016020820135600160201b81111561064657600080fd5b82018360208201111561065857600080fd5b803590602001918460018302840111600160201b8311171561067957600080fd5b5090925090506110f6565b6102206004803603604081101561069a57600080fd5b81359190810190604081016020820135600160201b8111156106bb57600080fd5b8201836020820111156106cd57600080fd5b803590602001918460018302840111600160201b831117156106ee57600080fd5b50909250905061115e565b60009081526007602052604090205490565b6002546001600160a01b031633146107545760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146107bb5760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b60008181526006602052604081206107d2916111c0565b50565b6002546001600160a01b0316331461081e5760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b600090815260076020526040812055565b6000546001600160a01b031633146108785760405162461bcd60e51b815260040180806020018281038252602f8152602001806112d5602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b0316331461092a5760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b031633146109855760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146109e05760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b03163314610a415760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610af65780601f10610acb57610100808354040283529160200191610af6565b820191906000526020600020905b815481529060010190602001808311610ad957829003601f168201915b50505050509050919050565b600a5481565b6000908152600560205260409020546001600160a01b031690565b6000546001600160a01b03163314610b6c5760405162461bcd60e51b815260040180806020018281038252602f8152602001806112d5602f913960400191505060405180910390fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610c185760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610c8f5760405162461bcd60e51b81526004018080602001828103825260358152602001806112a06035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610d4b5760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610dc65760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610af65780601f10610acb57610100808354040283529160200191610af6565b6002546001600160a01b03163314610e8a5760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6000546001600160a01b03163314610ef45760405162461bcd60e51b815260040180806020018281038252602f8152602001806112d5602f913960400191505060405180910390fd5b600a544210610f345760405162461bcd60e51b81526004018080602001828103825260298152602001806113386029913960400191505060405180910390fd5b828114610f7a576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b60ff811684111561107d5730633562fd20721b185cdd17d9995957ddda5d1a191c985dd85b606a1b878760ff8616818110610fb457fe5b905060200201356001600160a01b031660405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012085858560ff1681811061101557fe5b905060200201356040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561105957600080fd5b505af115801561106d573d6000803e3d6000fd5b505060019092019150610f7d9050565b5050505050565b6002546001600160a01b031633146110cd5760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b60008181526004602052604081206107d2916111c0565b60009081526003602052604090205490565b6002546001600160a01b0316331461113f5760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b6000838152600660205260409020611158908383611204565b50505050565b6002546001600160a01b031633146111a75760405162461bcd60e51b81526004018080602001828103825260348152602001806113046034913960400191505060405180910390fd5b6000838152600460205260409020611158908383611204565b50805460018160011615610100020316600290046000825580601f106111e657506107d2565b601f0160209004906000526020600020908101906107d29190611282565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112455782800160ff19823516178555611272565b82800160010185558215611272579182015b82811115611272578235825591602001919060010190611257565b5061127e929150611282565b5090565b61129c91905b8082111561127e5760008155600101611288565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a7231582079b5dfbbcea250023770f959fd2d3d45eba6a7f3968b48b74f289a568d5e9bcb64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "feePeriodIDs",
							"type": "uint256[]"
						}
					],
					"name": "importFeeWithdrawalData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb3ffbd9e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				}
			]
		},
		"FeePool": {
			"bytecode": "60806040819052631bd554d160e21b600b5562093a80601755630241ebdb60e61b815260649073__$f9217daff40bcb29719cec84f7ab900933$__9063907af6c09060849060209060048186803b1580156200005a57600080fd5b505af41580156200006f573d6000803e3d6000fd5b505050506040513d60208110156200008657600080fd5b5051816200009057fe5b046018556040518061014001604052806b53797374656d53746174757360a01b8152602001644f696b6f7360d81b81526020016b466565506f6f6c537461746560a01b81526020017f466565506f6f6c457465726e616c53746f72616765000000000000000000000081526020016822bc31b430b733b2b960b91b81526020016524b9b9bab2b960d11b8152602001694f696b6f73537461746560b01b81526020016b526577617264457363726f7760a01b81526020017044656c6567617465417070726f76616c7360781b81526020017f52657761726473446973747269627574696f6e00000000000000000000000000815250601990600a620001979291906200059f565b50348015620001a557600080fd5b506040516200503d3803806200503d83398181016040526060811015620001cb57600080fd5b5080516020820151604092830151835161030081019485905292939192909182919060199060189082845b815481526020019060010190808311620001f6575050505050621baf80858560006001600160a01b0316816001600160a01b031614156200027e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000329576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a1506000546001600160a01b0316620003cd576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005460068054610100600160a81b0319166101006001600160a01b0390931692830217905560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53916020908290030190a142016007556000546001600160a01b03166200047d576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620004e55760008282601881106200049957fe5b602002015114620004d657600a828260188110620004b357fe5b6020908102919091015182546001810184556000938452919092200155620004dc565b620004e5565b60010162000480565b5050600880546001600160a01b0319166001600160a01b0392909216919091179055600162000515600062000573565b80546001600160401b0319166001600160401b03929092169190911790554262000540600062000573565b80546001600160401b0392909216600160801b02600160801b600160c01b03199092169190911790555062000602915050565b6000600c600260ff168360165401816200058957fe5b06600281106200059557fe5b6005020192915050565b8260188101928215620005d0579160200282015b82811115620005d0578251825591602001919060010190620005b3565b50620005de929150620005e2565b5090565b620005ff91905b80821115620005de5760008155600101620005e9565b90565b614a2b80620006126000396000f3fe608060405234801561001057600080fd5b50600436106103575760003560e01c806380803fff116101c8578063bd32aa4411610104578063e0e6393d116100a2578063ec5568891161007c578063ec55688914610984578063f344da671461098c578063fb1b4c7e14610994578063fd1f498d1461099c57610357565b8063e0e6393d1461096c578063e3235c9114610974578063eb1edd611461097c57610357565b8063cff2ddad116100de578063cff2ddad14610936578063d294f09314610954578063d62ae3991461095c578063d67bdd251461096457610357565b8063bd32aa4414610909578063c58aaae614610911578063c6c9d8281461091957610357565b8063a461fc8211610171578063b10090b81161014b578063b10090b814610867578063b5ddb9c7146108af578063b8225dec146108db578063bc67f832146108e357610357565b8063a461fc8214610816578063ab49848c1461081e578063ac8341931461085f57610357565b806397107d6d116101a257806397107d6d146107e05780639cb8a26a146108065780639cbdaeb61461080e57610357565b806380803fff1461078957806386645274146107a65780638da5cb5b146107d857610357565b80633278c9601161029757806353a47bb711610240578063631e14441161021a578063631e14441461072d5780636466f45e146107535780636de813f11461077957806379ba50971461078157610357565b806353a47bb7146106e3578063569249d0146106eb57806359a2f19f146106f357610357565b80633ebc457a116102715780633ebc457a1461066e5780633fcd22401461067657806346ba2d90146106db57610357565b80633278c960146105c057806333140016146105c85780633be99e6f1461064857610357565b80631627540c1161030457806322425fa4116102de57806322425fa4146104bc57806322bf55ef146104c457806328a1170d146104e15780632cce0e54146105a357610357565b80631627540c1461046857806317c70de41461048e57806320714f881461049657610357565b80630813071c116103355780630813071c146103d75780630de5861514610403578063131b0ae71461044257610357565b806304c49f2c1461035c57806304f3bcec1461037b57806307ea50cd1461039f575b600080fd5b6103796004803603602081101561037257600080fd5b50356109b9565b005b610383610b2a565b604080516001600160a01b039092168252519081900360200190f35b6103c5600480360360208110156103b557600080fd5b50356001600160a01b0316610b39565b60408051918252519081900360200190f35b6103c5600480360360408110156103ed57600080fd5b506001600160a01b038135169060200135610c1d565b6104296004803603602081101561041957600080fd5b50356001600160a01b0316610dce565b6040805192835260208301919091528051918290030190f35b6103796004803603602081101561045857600080fd5b50356001600160a01b0316610e50565b6103796004803603602081101561047e57600080fd5b50356001600160a01b0316610ebb565b6103c5610f58565b610379600480360360208110156104ac57600080fd5b50356001600160a01b0316610f5e565b6103c5611075565b610379600480360360208110156104da57600080fd5b503561107b565b610379600480360360408110156104f757600080fd5b81019060208101813564010000000081111561051257600080fd5b82018360208201111561052457600080fd5b8035906020019184602083028401116401000000008311171561054657600080fd5b91939092909160208101903564010000000081111561056457600080fd5b82018360208201111561057657600080fd5b8035906020019184602083028401116401000000008311171561059857600080fd5b509092509050611197565b610379600480360360208110156105b957600080fd5b5035611431565b6103796115ce565b6105ee600480360360208110156105de57600080fd5b50356001600160a01b0316611651565b6040516000826002835b818410156106385760208402830151604080838360005b8381101561062757818101518382015260200161060f565b5050505090500192600101926105f8565b9250505091505060405180910390f35b6103796004803603602081101561065e57600080fd5b50356001600160a01b03166118a1565b610379611a28565b6106936004803603602081101561068c57600080fd5b5035611d70565b6040805167ffffffffffffffff9889168152968816602088015294909616858501526060850192909252608084015260a083015260c082019290925290519081900360e00190f35b6103c5611e19565b610383611e1f565b6103c5611e2e565b6107196004803603602081101561070957600080fd5b50356001600160a01b0316611e89565b604080519115158252519081900360200190f35b6107196004803603602081101561074357600080fd5b50356001600160a01b0316611e9b565b6107196004803603602081101561076957600080fd5b50356001600160a01b0316611fcf565b6103c561217e565b6103796121d3565b6103c56004803603602081101561079f57600080fd5b503561228f565b610379600480360360608110156107bc57600080fd5b506001600160a01b03813516906020810135906040013561232a565b61038361248e565b610379600480360360208110156107f657600080fd5b50356001600160a01b031661249d565b61037961253a565b61038361268c565b6103c561269b565b6108266126a2565b604051808261030080838360005b8381101561084c578181015183820152602001610834565b5050505090500191505060405180910390f35b6103c56126ec565b610379600480360361010081101561087e57600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c08101359060e0013561281a565b610379600480360360408110156108c557600080fd5b506001600160a01b038135169060200135612b04565b610719612cf3565b610379600480360360208110156108f957600080fd5b50356001600160a01b0316612cfc565b610379612d92565b610383612e24565b6103c56004803603602081101561092f57600080fd5b5035612e38565b61093e612e56565b6040805160ff9092168252519081900360200190f35b610719612e5b565b6103c5612f25565b610383612f2c565b6103c5612f3b565b6103c5612f41565b610383612f46565b610383612f5e565b6103c5612f6d565b6103c5612f74565b610379600480360360208110156109b257600080fd5b5035612f80565b6002546001600160a01b031633148015906109df57506003546001600160a01b03163314155b80156109f657506004546001600160a01b03163314155b15610a0e57600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614610a69576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b62015180811015610ac1576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b624f1a00811115610b19576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b6017819055610b2781613032565b50565b6008546001600160a01b031681565b6000610b43613159565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610be957600080fd5b505afa158015610bfd573d6000803e3d6000fd5b505050506040513d6020811015610c1357600080fd5b505190505b919050565b600081610c71576040805162461bcd60e51b815260206004820181905260248201527f43757272656e7420706572696f64206973206e6f7420636c6f73656420796574604482015290519081900360640190fd5b60028210610cc6576040805162461bcd60e51b815260206004820152601d60248201527f4578636565647320746865204645455f504552494f445f4c454e475448000000604482015290519081900360640190fd5b610cd26001830361319d565b5468010000000000000000900467ffffffffffffffff16610cf557506000610dc8565b6000610d256001610d086001860361319d565b5468010000000000000000900467ffffffffffffffff16906131c7565b9050600080610d32613224565b6040805163694e000560e11b81526001600160a01b03898116600483015260248201879052825193169263d29c000a92604480840193919291829003018186803b158015610d7f57600080fd5b505afa158015610d93573d6000803e3d6000fd5b505050506040513d6040811015610da957600080fd5b5080516020909101519092509050610dc2838383613285565b93505050505b92915050565b600080610dd9614715565b610de284611651565b905060008060015b6002811015610e4357610e0f848260028110610e0257fe5b60200201515184906133b9565b9250610e39848260028110610e2057fe5b602002015160016020020151839063ffffffff6133b916565b9150600101610dea565b509093509150505b915091565b6000546001600160a01b03163314610e995760405162461bcd60e51b815260040180806020018281038252602f8152602001806148ed602f913960400191505060405180910390fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610f045760405162461bcd60e51b815260040180806020018281038252602f8152602001806148ed602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60055481565b6000546001600160a01b03163314610fa75760405162461bcd60e51b815260040180806020018281038252602f8152602001806148ed602f913960400191505060405180910390fd5b6001600160a01b038116611002576040805162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b600680546001600160a01b03831661010081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b60175481565b600061108561341a565b6001600160a01b03163314905060008061109d61347b565b6001600160a01b03166316b2213f336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156110f257600080fd5b505afa158015611106573d6000803e3d6000fd5b505050506040513d602081101561111c57600080fd5b505114159050818061112b5750805b6111665760405162461bcd60e51b81526004018080602001828103825260218152602001806149b16021913960400191505060405180910390fd5b61118483611174600061319d565b600101549063ffffffff6133b916565b61118e600061319d565b60010155505050565b6002546001600160a01b031633148015906111bd57506003546001600160a01b03163314155b80156111d457506004546001600160a01b03163314155b156111ec57600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614611247576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b82811461129b576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b8381101561142a5767016345785d8a00008383838181106112bb57fe5b905060200201351115611315576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b61131d613159565b6001600160a01b0316633562fd207f73796e74685f65786368616e67655f6665655f7261746500000000000000000087878581811061135857fe5b9050602002013560405160200180838152602001828152602001925050506040516020818303038152906040528051906020012085858581811061139857fe5b905060200201356040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156113dc57600080fd5b505af11580156113f0573d6000803e3d6000fd5b5050505061142285858381811061140357fe5b9050602002013584848481811061141657fe5b905060200201356134dc565b60010161129e565b5050505050565b6002546001600160a01b0316331480159061145757506003546001600160a01b03163314155b801561146e57506004546001600160a01b03163314155b1561148657600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146114e1576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b6032811115611537576040805162461bcd60e51b815260206004820152601260248201527f5468726573686f6c6420746f6f20686967680000000000000000000000000000604482015290519081900360640190fd5b6115c860646115bc73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561158357600080fd5b505af4158015611597573d6000803e3d6000fd5b505050506040513d60208110156115ad57600080fd5b5051849063ffffffff6135f516565b9063ffffffff61364e16565b60185550565b6000546001600160a01b031633146116175760405162461bcd60e51b815260040180806020018281038252602f8152602001806148ed602f913960400191505060405180910390fd5b600060058190556006805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b611659614715565b6000806000611666613224565b604080517fb326f84e0000000000000000000000000000000000000000000000000000000081526001600160a01b03888116600483015260006024830152825193945084169263b326f84e92604480840193919291829003018186803b1580156116cf57600080fd5b505afa1580156116e3573d6000803e3d6000fd5b505050506040513d60408110156116f957600080fd5b508051602090910151909350915081158015611713575082155b1561172b57611720614715565b9350610c1892505050565b60008061173a600086866136b8565b875182905287516020018190529092509050600061175788610b39565b905060015b801561189557600019810160006117728261319d565b5468010000000000000000900467ffffffffffffffff16905080158015906117ac575061179e8361319d565b5467ffffffffffffffff1684105b1561188a5760006117c482600163ffffffff6131c716565b6040805163694e000560e11b81526001600160a01b038f811660048301526024820184905282519394508b169263d29c000a92604480840193919291829003018186803b15801561181457600080fd5b505afa158015611828573d6000803e3d6000fd5b505050506040513d604081101561183e57600080fd5b508051602090910151909a509850611857848b8b6136b8565b9097509550868b856002811061186957fe5b602002015152858b856002811061187c57fe5b602002015160016020020152505b50506000190161175c565b50505050505050919050565b6000546001600160a01b031633146118ea5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148ed602f913960400191505060405180910390fd5b600880546001600160a01b0319166001600160a01b03831617905560005b600a54811015611a24576000600a828154811061192157fe5b60009182526020918290200154600854604080517fdacb2d010000000000000000000000000000000000000000000000000000000081526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b1580156119c457600080fd5b505afa1580156119d8573d6000803e3d6000fd5b505050506040513d60208110156119ee57600080fd5b505160009182526009602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101611908565b5050565b611a3061375a565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a6857600080fd5b505afa158015611a7c573d6000803e3d6000fd5b505050506017544203611a8f600061319d565b54600160801b900467ffffffffffffffff161115611af4576040805162461bcd60e51b815260206004820152601d60248201527f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000604482015290519081900360640190fd5b6000611aff8161319d565b90506000611b0d600161319d565b9050611b3e8260010154611b32836002015484600101546131c790919063ffffffff16565b9063ffffffff6133b916565b611b48600061319d565b60010155600380830154600483015491830154611b6f92611b32919063ffffffff6131c716565b611b79600061319d565b60030155601654611bb690600290611baa90600190611b9e908463ffffffff6133b916565b9063ffffffff6131c716565b9063ffffffff6137bb16565b6016819055600c9060028110611bc857fe5b6005020180547fffffffffffffffff000000000000000000000000000000000000000000000000168155600060018083018290556002830182905560038301829055600490920155611c3490611c1d8161319d565b5467ffffffffffffffff169063ffffffff6133b916565b611c3e600061319d565b805467ffffffffffffffff191667ffffffffffffffff92909216919091179055611c66613820565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015611c9e57600080fd5b505afa158015611cb2573d6000803e3d6000fd5b505050506040513d6020811015611cc857600080fd5b5051611cd4600061319d565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff00000000000000001990921691909117905542611d14600061319d565b805467ffffffffffffffff92909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff909216919091179055611a24611d60600161319d565b5467ffffffffffffffff16613881565b6000806000806000806000611d83614742565b611d8c8961319d565b6040805160e081018252825467ffffffffffffffff808216808452680100000000000000008304821660208501819052600160801b909304909116938301849052600185015460608401819052600286015460808501819052600387015460a0860181905260049097015460c0909501859052919f929e50939c50929a5091985091965090945092505050565b60075481565b6001546001600160a01b031681565b60008060015b6002811015611e8357611e5a611e498261319d565b60010154839063ffffffff6133b916565b9150611e79611e688261319d565b60020154839063ffffffff6131c716565b9150600101611e34565b50905090565b6000611e948261396a565b5092915050565b6008546000906001600160a01b03838116911614611ebb57506000610c18565b60005b600a54811015611fc6576000600a8281548110611ed757fe5b6000918252602080832090910154808352600982526040928390205460085484517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b158015611f5657600080fd5b505afa158015611f6a573d6000803e3d6000fd5b505050506040513d6020811015611f8057600080fd5b50516001600160a01b0316141580611fad57506000818152600960205260409020546001600160a01b0316155b15611fbd57600092505050610c18565b50600101611ebe565b50600192915050565b6000611fd961375a565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561201157600080fd5b505afa158015612025573d6000803e3d6000fd5b50506002546001600160a01b0316331480159250905061205057506003546001600160a01b03163314155b801561206757506004546001600160a01b03163314155b1561207f57600480546001600160a01b031916331790555b612087613b1a565b60048054604080517f21f4ae570000000000000000000000000000000000000000000000000000000081526001600160a01b038781169482019490945291831660248301525192909116916321f4ae5791604480820192602092909190829003018186803b1580156120f857600080fd5b505afa15801561210c573d6000803e3d6000fd5b505050506040513d602081101561212257600080fd5b5051612175576040805162461bcd60e51b815260206004820152601f60248201527f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600604482015290519081900360640190fd5b610dc882613b5e565b60008060015b6002811015611e83576121aa6121998261319d565b60030154839063ffffffff6133b916565b91506121c96121b88261319d565b60040154839063ffffffff6131c716565b9150600101612184565b6001546001600160a01b0316331461221c5760405162461bcd60e51b81526004018080602001828103825260358152602001806147db6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000612299613159565b6001600160a01b031663bdc963d87f73796e74685f65786368616e67655f6665655f72617465000000000000000000846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610be957600080fd5b61233261347b565b6001600160a01b0316336001600160a01b031614612397576040805162461bcd60e51b815260206004820152601f60248201527f466565506f6f6c3a204f6e6c792049737375657220417574686f726973656400604482015290519081900360640190fd5b61239f613224565b6001600160a01b03166394e1a4488484846123ba600061319d565b54604080517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526001600160a01b0390951660048601526024850193909352604484019190915267ffffffffffffffff6801000000000000000090910416606483015251608480830192600092919082900301818387803b15801561244557600080fd5b505af1158015612459573d6000803e3d6000fd5b5050505061248983838361246d600061319d565b5468010000000000000000900467ffffffffffffffff16613cdc565b505050565b6000546001600160a01b031681565b6000546001600160a01b031633146124e65760405162461bcd60e51b815260040180806020018281038252602f8152602001806148ed602f913960400191505060405180910390fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6000546001600160a01b031633146125835760405162461bcd60e51b815260040180806020018281038252602f8152602001806148ed602f913960400191505060405180910390fd5b60065460ff166125da576040805162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea006005540110612635576040805162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b600654604080516101009092046001600160a01b03168252517f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7916020908290030190a160065461010090046001600160a01b0316ff5b6003546001600160a01b031681565b6224ea0081565b6126aa61479d565b60005b600a548110156126e857600a81815481106126c457fe5b90600052602060002001548282601881106126db57fe5b60200201526001016126ad565b5090565b6000806126f7613820565b6001600160a01b031663b410a0346040518163ffffffff1660e01b815260040160206040518083038186803b15801561272f57600080fd5b505afa158015612743573d6000803e3d6000fd5b505050506040513d602081101561275957600080fd5b5051601854604080517f907af6c0000000000000000000000000000000000000000000000000000000008152905192935061281492612807929173__$f9217daff40bcb29719cec84f7ab900933$__9163907af6c091600480820192602092909190829003018186803b1580156127cf57600080fd5b505af41580156127e3573d6000803e3d6000fd5b505050506040513d60208110156127f957600080fd5b50519063ffffffff6133b916565b829063ffffffff613e2316565b91505090565b6002546001600160a01b0316331480159061284057506003546001600160a01b03163314155b801561285757506004546001600160a01b03163314155b1561286f57600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146128ca576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600754421061290a5760405162461bcd60e51b81526004018080602001828103825260298152602001806149606029913960400191505060405180910390fd5b612912613820565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b15801561294a57600080fd5b505afa15801561295e573d6000803e3d6000fd5b505050506040513d602081101561297457600080fd5b50518611156129ca576040805162461bcd60e51b815260206004820152601660248201527f43616e6e6f7420696d706f727420626164206461746100000000000000000000604482015290519081900360640190fd5b6040518060e001604052808867ffffffffffffffff1681526020018767ffffffffffffffff1681526020018667ffffffffffffffff16815260200185815260200184815260200183815260200182815250600c612a3a600260ff16611baa8c6016546133b990919063ffffffff16565b60028110612a4457fe5b82516005919091029190910180546020840151604085015167ffffffffffffffff1990921667ffffffffffffffff948516176fffffffffffffffff000000000000000019166801000000000000000091851691909102177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16600160801b9390911692909202919091178155606082015160018201556080820151600282015560a0820151600382015560c0909101516004909101555050505050505050565b6002546001600160a01b03163314801590612b2a57506003546001600160a01b03163314155b8015612b4157506004546001600160a01b03163314155b15612b5957600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614612bb4576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b612bbc613e4d565b6004546001600160a01b03918216916323b872dd9116612bda613eae565b846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015612c4357600080fd5b505af1158015612c57573d6000803e3d6000fd5b505050506040513d6020811015612c6d57600080fd5b50612c789050613eae565b6001600160a01b031663b5ddb9c783836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612cd757600080fd5b505af1158015612ceb573d6000803e3d6000fd5b505050505050565b60065460ff1681565b6002546001600160a01b0316331480612d1f57506003546001600160a01b031633145b612d70576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314612ddb5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148ed602f913960400191505060405180910390fd5b426005556006805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b60065461010090046001600160a01b031681565b600a8181548110612e4557fe5b600091825260209091200154905081565b600281565b6000612e6561375a565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612e9d57600080fd5b505afa158015612eb1573d6000803e3d6000fd5b50506002546001600160a01b03163314801592509050612edc57506003546001600160a01b03163314155b8015612ef357506004546001600160a01b03163314155b15612f0b57600480546001600160a01b031916331790555b600454612f20906001600160a01b0316613b5e565b905090565b6201518081565b6004546001600160a01b031681565b60185481565b601881565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b624f1a0081565b67016345785d8a000081565b6000612f8a613f0f565b6004549091506001600160a01b0380831691161480612fb15750336001600160a01b038216145b613002576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206973206e6f742072657761726473417574686f726974790000604482015290519081900360640190fd5b61302082613010600061319d565b600301549063ffffffff6133b916565b61302a600061319d565b600301555050565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff97916001908060216148cc82396021019050604051809103902060008060006040518763ffffffff1660e01b815260040180806020018781526020018681526020018560001b81526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156130f45781810151838201526020016130dc565b50505050905090810190601f1680156131215780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561314557600080fd5b505af115801561142a573d6000803e3d6000fd5b6000612f207f466565506f6f6c457465726e616c53746f7261676500000000000000000000006040518060600160405280602581526020016149d260259139613f4f565b6000600c600260ff168360165401816131b257fe5b06600281106131bd57fe5b6005020192915050565b60008282111561321e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000612f207f466565506f6f6c537461746500000000000000000000000000000000000000006040518060400160405280601c81526020017f4d697373696e6720466565506f6f6c5374617465206164647265737300000000815250613f4f565b600080613290613820565b905060006133af856133a3846001600160a01b03166308d95cd5886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156132df57600080fd5b505afa1580156132f3573d6000803e3d6000fd5b505050506040513d602081101561330957600080fd5b5051604080517f08d95cd5000000000000000000000000000000000000000000000000000000008152600481018c905290516001600160a01b038816916308d95cd5916024808301926020929190829003018186803b15801561336b57600080fd5b505afa15801561337f573d6000803e3d6000fd5b505050506040513d602081101561339557600080fd5b50519063ffffffff613ff916565b9063ffffffff61401216565b9695505050505050565b600082820183811015613413576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000612f207f45786368616e67657200000000000000000000000000000000000000000000006040518060400160405280601981526020017f4d697373696e672045786368616e676572206164647265737300000000000000815250613f4f565b6000612f207f49737375657200000000000000000000000000000000000000000000000000006040518060400160405280601681526020017f4d697373696e6720497373756572206164647265737300000000000000000000815250613f4f565b60025460408051602081018590528082018490528151808203830181526060909101918290526001600160a01b039092169163907dff979160019080602861498982396028019050604051809103902060008060006040518763ffffffff1660e01b815260040180806020018781526020018681526020018560001b81526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156135a457818101518382015260200161358c565b50505050905090810190601f1680156135d15780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015612cd757600080fd5b60008261360457506000610dc8565b8282028284828161361157fe5b04146134135760405162461bcd60e51b815260040180806020018281038252602181526020018061493f6021913960400191505060405180910390fd5b60008082116136a4576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816136af57fe5b04949350505050565b600080836136cb57506000905080613752565b8385156136f65760006136e56001610d0860018a0361319d565b90506136f2818787613285565b9150505b6000613715826137058961319d565b600101549063ffffffff613e2316565b90506000613736836137268a61319d565b600301549063ffffffff613e2316565b90506137418261402b565b61374a8261402b565b945094505050505b935093915050565b6000612f207f53797374656d53746174757300000000000000000000000000000000000000006040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250613f4f565b60008161380f576040805162461bcd60e51b815260206004820152601860248201527f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000604482015290519081900360640190fd5b81838161381857fe5b069392505050565b6000612f207f4f696b6f735374617465000000000000000000000000000000000000000000006040518060400160405280601a81526020017f4d697373696e67204f696b6f7353746174652061646472657373000000000000815250613f4f565b6002546040805160208082018590528251808303820181528284018085527f466565506572696f64436c6f7365642875696e74323536290000000000000000905292519182900360580182207f907dff97000000000000000000000000000000000000000000000000000000008352600160248401819052604484018290526000606485018190526084850181905260a4850181905260c060048601908152865160c487015286516001600160a01b039098169763907dff979796939592938493849392839260e401918a019080838388838110156130f45781810151838201526020016130dc565b60008060008061397861347b565b604080517fa6eb4f950000000000000000000000000000000000000000000000000000000081526001600160a01b038881166004830152825193169263a6eb4f9592602480840193919291829003018186803b1580156139d757600080fd5b505afa1580156139eb573d6000803e3d6000fd5b505050506040513d6040811015613a0157600080fd5b50805160209091015190925090506000613a19613820565b6001600160a01b031663b410a0346040518163ffffffff1660e01b815260040160206040518083038186803b158015613a5157600080fd5b505afa158015613a65573d6000803e3d6000fd5b505050506040513d6020811015613a7b57600080fd5b5051905080831015613a955750600193509150610e4b9050565b6000613af1613ae460185473__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156127cf57600080fd5b839063ffffffff613e2316565b905080841115613b0b576000839550955050505050610e4b565b50600194509092505050915091565b6000612f207f44656c6567617465417070726f76616c7300000000000000000000000000000060405180606001604052806021815260200161483460219139613f4f565b6000808080808080613b6f8861396a565b9150915081613bc5576040805162461bcd60e51b815260206004820152601f60248201527f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400604482015290519081900360640190fd5b8015613c18576040805162461bcd60e51b815260206004820152601c60248201527f412073796e7468206f72204f4b532072617465206973207374616c6500000000604482015290519081900360640190fd5b613c2188610dce565b909450925083151580613c345750600083115b613c6f5760405162461bcd60e51b815260040180806020018281038252604081526020018061488c6040913960400191505060405180910390fd5b613c8d88613c7d600161319d565b5467ffffffffffffffff1661404d565b8315613ca857613c9c84614105565b9450613ca888866141d9565b8215613cc357613cb7836143be565b9550613cc38887614498565b613cce88868861458f565b506001979650505050505050565b6002805460408051602081018790528082018690526060808201869052825180830390910181526080909101918290526001600160a01b039092169263907dff979291806037614855823960370190506040518091039020886001600160a01b031660001b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015613db4578181015183820152602001613d9c565b50505050905090810190601f168015613de15780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015613e0557600080fd5b505af1158015613e19573d6000803e3d6000fd5b5050505050505050565b6000670de0b6b3a7640000613e3e848463ffffffff6135f516565b81613e4557fe5b049392505050565b6000612f207f4f696b6f730000000000000000000000000000000000000000000000000000006040518060400160405280601581526020017f4d697373696e67204f696b6f7320616464726573730000000000000000000000815250613f4f565b6000612f207f526577617264457363726f7700000000000000000000000000000000000000006040518060400160405280601c81526020017f4d697373696e6720526577617264457363726f77206164647265737300000000815250613f4f565b6000612f207f52657761726473446973747269627574696f6e0000000000000000000000000060405180606001604052806023815260200161491c602391395b6000828152600960205260408120546001600160a01b03168281613ff15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613fb6578181015183820152602001613f9e565b50505050905090810190601f168015613fe35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600061341383836b033b2e3c9fd0803ce80000006146b2565b600061341383836b033b2e3c9fd0803ce80000006146ea565b60006305f5e10082046005600a82061061404357600a015b600a900492915050565b614055613159565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015612cd757600080fd5b6000818160015b6002811015613ff15760006141208261319d565b6002015490506000614145826141358561319d565b600101549063ffffffff6131c716565b905080156141ce57600085821061415c578561415e565b815b9050614170838263ffffffff6133b916565b6141798561319d565b6002015561418d868263ffffffff6131c716565b955061419f858263ffffffff6133b916565b9450856141b457849650505050505050610c18565b831580156141c25750600086115b156141cc57600095505b505b50506000190161410c565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef141561424c576040805162461bcd60e51b815260206004820152601760248201527f4665652061646472657373206e6f7420616c6c6f776564000000000000000000604482015290519081900360640190fd5b600061425661347b565b6001600160a01b03166332608039600b546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561429b57600080fd5b505afa1580156142af573d6000803e3d6000fd5b505050506040513d60208110156142c557600080fd5b5051604080517f9dc29fac00000000000000000000000000000000000000000000000000000000815273feefeefeefeefeefeefeefeefeefeefeefeefeef60048201526024810186905290519192506001600160a01b03831691639dc29fac9160448082019260009290919082900301818387803b15801561434657600080fd5b505af115801561435a573d6000803e3d6000fd5b50505050806001600160a01b031663867904b485856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015613e0557600080fd5b6000818160015b6002811015613ff15760006143f96143dc8361319d565b600401546143e98461319d565b600301549063ffffffff6131c716565b9050801561448e5760008482106144105784614412565b815b9050614431816144218561319d565b600401549063ffffffff6133b916565b61443a8461319d565b6004015561444e858263ffffffff6131c716565b9450614460848263ffffffff6133b916565b935084614474578395505050505050610c18565b821580156144825750600085115b1561448c57600094505b505b50600019016143c5565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef141561450b576040805162461bcd60e51b815260206004820152601760248201527f4665652061646472657373206e6f7420616c6c6f776564000000000000000000604482015290519081900360640190fd5b614513613eae565b6001600160a01b031663b5ddb9c784846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561457257600080fd5b505af1158015614586573d6000803e3d6000fd5b50505050505050565b600254604080516001600160a01b0386811660208301528183018690526060808301869052835180840390910181526080909201928390529092169163907dff979160019080602461481082396024019050604051809103902060008060006040518763ffffffff1660e01b815260040180806020018781526020018681526020018560001b81526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015614661578181015183820152602001614649565b50505050905090810190601f16801561468e5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561457257600080fd5b6000806146cc846115bc87600a870263ffffffff6135f516565b90506005600a825b06106146de57600a015b600a9004949350505050565b600080600a8304614701868663ffffffff6135f516565b8161470857fe5b0490506005600a826146d4565b60405180604001604052806002905b61472c6147bc565b8152602001906001900390816147245790505090565b6040518060e00160405280600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600081526020016000815260200160008152602001600081525090565b6040518061030001604052806018906020820280388339509192915050565b6040518060400160405280600290602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697046656573436c61696d656428616464726573732c75696e743235362c75696e74323536294d697373696e672044656c6567617465417070726f76616c73206164647265737349737375616e636544656274526174696f456e74727928616464726573732c75696e743235362c75696e743235362c75696e74323536294e6f2066656573206f72207265776172647320617661696c61626c6520666f7220706572696f642c206f72206665657320616c726561647920636c61696d6564466565506572696f644475726174696f6e557064617465642875696e74323536294f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4d697373696e672052657761726473446973747269627574696f6e2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e6720736574757053796e746845786368616e67654665655570646174656428627974657333322c75696e74323536294f6e6c792045786368616e6765722c2053796e74687320417574686f72697365644d697373696e6720466565506f6f6c457465726e616c53746f726167652061646472657373a265627a7a723158205ec7a767bbd6fef6029f15a4e6311c2886ed1f715b020e3cb911f4bfe0c9e7e964736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						}
					],
					"name": "FeePeriodClosed",
					"type": "event",
					"signature": "0xe2ca356e01eb0a4bb7caaf07d472b7d687db156713ffc3111c758e9fe0a17ea7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newFeePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "FeePeriodDurationUpdated",
					"type": "event",
					"signature": "0x791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "oUSDAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "oksRewards",
							"type": "uint256"
						}
					],
					"name": "FeesClaimed",
					"type": "event",
					"signature": "0x1ac537f0ad67b64ac68a04587ff3a4cb6977de22eb2c37ee560897a92c6d07c7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodStartingDebtIndex",
							"type": "uint256"
						}
					],
					"name": "IssuanceDebtRatioEntry",
					"type": "event",
					"signature": "0x28dcdf40e6b6196065d54760038ab1a8c0c1d9cfa58a99e6b0cb6022f7e24775"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newExchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "SynthExchangeFeeUpdated",
					"type": "event",
					"signature": "0xde97933d5bbfbb71abec38339a2b87ff987fa55644f31e7a9aa26ad80d7b9f1e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_EXCHANGE_FEE_RATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfb1b4c7e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf344da67"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd62ae399"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"name": "appendAccountIssuanceRecord",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x86645274"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5ddb9c7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "claimFees",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd294f093"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "claimingForAddress",
							"type": "address"
						}
					],
					"name": "claimOnBehalf",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6466f45e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "closeCurrentFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3ebc457a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "period",
							"type": "uint256"
						}
					],
					"name": "effectiveDebtRatioForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0813071c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0de58615"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesByPeriod",
					"outputs": [
						{
							"internalType": "uint256[2][2]",
							"name": "results",
							"type": "uint256[2][2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x33140016"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						}
					],
					"name": "getExchangeFeeRateForSynth",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x80803fff"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_claimingAddress",
							"type": "address"
						}
					],
					"name": "getLastFeeWithdrawal",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x07ea50cd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPenaltyThresholdRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac834193"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "feePeriodIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startingDebtIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startTime",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesClaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsClaimed",
							"type": "uint256"
						}
					],
					"name": "importFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb10090b8"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isFeesClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "feesClaimable",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59a2f19f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "recentFeePeriods",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "feePeriodId",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "startingDebtIndex",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "startTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "feesToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesClaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsClaimed",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fcd2240"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "recordFeePaid",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x22bf55ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "synthKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "exchangeFeeRates",
							"type": "uint256[]"
						}
					],
					"name": "setExchangeFeeRateForSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x28a1170d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_feePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "setFeePeriodDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x04c49f2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setRewardsToDistribute",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfd1f498d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_percent",
							"type": "uint256"
						}
					],
					"name": "setTargetThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2cce0e54"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe0e6393d"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalFeesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x569249d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalRewardsAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6de813f1"
				}
			]
		},
		"FeePoolState": {
			"bytecode": "608060405234801561001057600080fd5b506040516112113803806112118339818101604052604081101561003357600080fd5b50805160209091015162375f00826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610146576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005460038054610100600160a81b0319166101006001600160a01b0390931692830217905560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53916020908290030190a14201600455600580546001600160a01b0319166001600160a01b03929092169190911790555061103d806101d46000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80638da5cb5b116100b8578063b326f84e1161007c578063b326f84e1461036b578063b8225dec14610397578063bd32aa44146103b3578063c58aaae6146103bb578063cff2ddad146103c3578063d29c000a146103e157610137565b80638da5cb5b1461031357806394e1a4481461031b5780639cb8a26a14610353578063a461fc821461035b578063ae2e933b1461036357610137565b806339a3f63f116100ff57806339a3f63f146101d257806346ba2d901461029a57806353a47bb7146102a257806379ba5097146102c65780637de65545146102ce57610137565b80631627540c1461013c57806317c70de41461016457806319db22281461017e57806320714f88146101a45780633278c960146101ca575b600080fd5b6101626004803603602081101561015257600080fd5b50356001600160a01b031661040d565b005b61016c6104aa565b60408051918252519081900360200190f35b6101626004803603602081101561019457600080fd5b50356001600160a01b03166104b0565b610162600480360360208110156101ba57600080fd5b50356001600160a01b031661051b565b61016261061b565b610162600480360360808110156101e857600080fd5b81019060208101813564010000000081111561020357600080fd5b82018360208201111561021557600080fd5b8035906020019184602083028401116401000000008311171561023757600080fd5b91939092909160208101903564010000000081111561025557600080fd5b82018360208201111561026757600080fd5b8035906020019184602083028401116401000000008311171561028957600080fd5b91935091508035906020013561069e565b61016c6108b9565b6102aa6108bf565b604080516001600160a01b039092168252519081900360200190f35b6101626108ce565b6102fa600480360360408110156102e457600080fd5b506001600160a01b03813516906020013561098a565b6040805192835260208301919091528051918290030190f35b6102aa6109b7565b6101626004803603608081101561033157600080fd5b506001600160a01b0381351690602081013590604081013590606001356109c6565b610162610a5f565b61016c610bb1565b6102aa610bb8565b6102fa6004803603604081101561038157600080fd5b506001600160a01b038135169060200135610bc7565b61039f610c6d565b604080519115158252519081900360200190f35b610162610c76565b6102aa610d08565b6103cb610d1c565b6040805160ff9092168252519081900360200190f35b6102fa600480360360408110156103f757600080fd5b506001600160a01b038135169060200135610d21565b6000546001600160a01b031633146104565760405162461bcd60e51b815260040180806020018281038252602f815260200180610fb1602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60025481565b6000546001600160a01b031633146104f95760405162461bcd60e51b815260040180806020018281038252602f815260200180610fb1602f913960400191505060405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146105645760405162461bcd60e51b815260040180806020018281038252602f815260200180610fb1602f913960400191505060405180910390fd5b6001600160a01b0381166105bf576040805162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b600380546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b6000546001600160a01b031633146106645760405162461bcd60e51b815260040180806020018281038252602f815260200180610fb1602f913960400191505060405180910390fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b6000546001600160a01b031633146106e75760405162461bcd60e51b815260040180806020018281038252602f815260200180610fb1602f913960400191505060405180910390fd5b60045442106107275760405162461bcd60e51b8152600401808060200182810382526029815260200180610fe06029913960400191505060405180910390fd5b84831461076d576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b858110156108b05784848281811061078457fe5b905060200201356006600089898581811061079b57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002084600681106107d657fe5b600202015581600660008989858181106107ec57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020846006811061082757fe5b600202016001018190555086868281811061083e57fe5b905060200201356001600160a01b03166001600160a01b03167f3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea86868481811061088457fe5b9050602002013584604051808381526020018281526020019250505060405180910390a2600101610770565b50505050505050565b60045481565b6001546001600160a01b031681565b6001546001600160a01b031633146109175760405162461bcd60e51b8152600401808060200182810382526035815260200180610f286035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600660205281600052604060002081600681106109a357fe5b600202018054600190910154909250905082565b6000546001600160a01b031681565b6005546001600160a01b03163314610a0f5760405162461bcd60e51b8152600401808060200182810382526031815260200180610f806031913960400191505060405180910390fd5b6001600160a01b038416600090815260066020526040902060010154811115610a3b57610a3b84610e06565b506001600160a01b0392909216600090815260066020526040902090815560010155565b6000546001600160a01b03163314610aa85760405162461bcd60e51b815260040180806020018281038252602f815260200180610fb1602f913960400191505060405180910390fd5b60035460ff16610aff576040805162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea006002540110610b5a576040805162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b600354604080516101009092046001600160a01b03168252517f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7916020908290030190a160035461010090046001600160a01b0316ff5b6224ea0081565b6005546001600160a01b031681565b60008060068310610c095760405162461bcd60e51b8152600401808060200182810382526023815260200180610f5d6023913960400191505060405180910390fd5b6001600160a01b03841660009081526006602081905260409091209084908110610c2f57fe5b60020201546001600160a01b038516600090815260066020819052604090912091935084908110610c5c57fe5b600202016001015490509250929050565b60035460ff1681565b6000546001600160a01b03163314610cbf5760405162461bcd60e51b815260040180806020018281038252602f815260200180610fb1602f913960400191505060405180910390fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b60035461010090046001600160a01b031681565b600681565b600080610d2c610ee0565b6001600160a01b0385166000908152600660208190526040808320815160c081019092529092909190835b82821015610d93578382600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190610d57565b509293506000925050505b6006811015610dfc57818160068110610db357fe5b6020020151602001518510610df457818160068110610dce57fe5b602002015151828260068110610de057fe5b602002015160200151935093505050610dff565b600101610d9e565b50505b9250929050565b60045b6006811015610edc576001600160a01b0382166000908152600660208190526040909120600183019183908110610e3c57fe5b60020201546001600160a01b03841660009081526006602081905260409091209083908110610e6757fe5b60020201556001600160a01b03831660009081526006602081905260409091209083908110610e9257fe5b600202016001015460066000856001600160a01b03166001600160a01b031681526020019081526020016000208260068110610eca57fe5b60020201600101555060001901610e09565b5050565b6040518060c001604052806006905b610ef7610f0d565b815260200190600190039081610eef5790505090565b60405180604001604052806000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970696e646578206578636565647320746865204645455f504552494f445f4c454e4754484f6e6c792074686520466565506f6f6c20636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a723158208b1714dbe2db71718bdf1c04943838b1f1f14cf7ca83903b3f86dcd65736773c64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodCloseIndex",
							"type": "uint256"
						}
					],
					"name": "IssuanceDebtRatioEntry",
					"type": "event",
					"signature": "0x3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountIssuanceLedger",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtPercentage",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7de65545"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "currentPeriodStartDebtIndex",
							"type": "uint256"
						}
					],
					"name": "appendAccountIssuanceRecord",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x94e1a448"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "closingDebtIndex",
							"type": "uint256"
						}
					],
					"name": "applicableIssuanceData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd29c000a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae2e933b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getAccountsDebtEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtPercentage",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb326f84e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "ratios",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "periodToInsert",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feePeriodCloseIndex",
							"type": "uint256"
						}
					],
					"name": "importIssuerData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x39a3f63f"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19db2228"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				}
			]
		},
		"RewardsDistribution": {
			"bytecode": "608060405234801561001057600080fd5b5060405161144e38038061144e833981810160405260a081101561003357600080fd5b50805160208201516040830151606084015160809094015192939192909190846001600160a01b0381166100ae576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039586166001600160a01b0319918216179091556003805494861694821694909417909355600480549285169284169290921790915560058054919093169116179055506112e9806101656000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80637a9e5e4b116100a2578063bf7e214f11610071578063bf7e214f146102c5578063c9e9cc4d146102cd578063d8297e44146102d5578063e54c1671146102fb578063ebd50faa1461032d57610116565b80637a9e5e4b14610272578063817a6951146102985780638da5cb5b146102b5578063a430be6c146102bd57610116565b806353a47bb7116100e957806353a47bb7146101c357806359974e38146101e75780635de399341461021857806360eb3ff21461023e57806379ba50971461026a57610116565b8063060ca2501461011b5780631627540c146101355780632d122dc61461015d5780634487d3df14610183575b600080fd5b610123610335565b60408051918252519081900360200190f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b031661033c565b005b61015b6004803603602081101561017357600080fd5b50356001600160a01b03166103d9565b6101a06004803603602081101561019957600080fd5b5035610444565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6101cb610479565b604080516001600160a01b039092168252519081900360200190f35b610204600480360360208110156101fd57600080fd5b5035610488565b604080519115158252519081900360200190f35b61015b6004803603602081101561022e57600080fd5b50356001600160a01b0316610ad3565b6102046004803603604081101561025457600080fd5b506001600160a01b038135169060200135610b3e565b61015b610d21565b61015b6004803603602081101561028857600080fd5b50356001600160a01b0316610ddd565b61015b600480360360208110156102ae57600080fd5b5035610e48565b6101cb610f74565b6101cb610f83565b6101cb610f92565b6101cb610fa1565b61015b600480360360208110156102eb57600080fd5b50356001600160a01b0316610fb0565b6102046004803603606081101561031157600080fd5b508035906001600160a01b03602082013516906040013561101b565b6101cb611127565b6006545b90565b6000546001600160a01b031633146103855760405162461bcd60e51b815260040180806020018281038252602f815260200180611286602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000546001600160a01b031633146104225760405162461bcd60e51b815260040180806020018281038252602f815260200180611286602f913960400191505060405180910390fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6006818154811061045157fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6001546001600160a01b031681565b60008082116104d6576040805162461bcd60e51b81526020600482015260156024820152744e6f7468696e6720746f206469737472696275746560581b604482015290519081900360640190fd5b6002546001600160a01b03163314610535576040805162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015290519081900360640190fd5b6004546001600160a01b0316610592576040805162461bcd60e51b815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b6003546001600160a01b03166105e7576040805162461bcd60e51b815260206004820152601560248201527413da5adbdcd41c9bde1e481a5cc81b9bdd081cd95d605a1b604482015290519081900360640190fd5b6005546001600160a01b0316610644576040805162461bcd60e51b815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b600354604080516370a0823160e01b8152306004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561068e57600080fd5b505afa1580156106a2573d6000803e3d6000fd5b505050506040513d60208110156106b857600080fd5b505110156106f75760405162461bcd60e51b81526004018080602001828103825260468152602001806112406046913960600191505060405180910390fd5b8160005b6006548110156109aa5760006001600160a01b03166006828154811061071d57fe5b60009182526020909120600290910201546001600160a01b031614158061076357506006818154811061074c57fe5b906000526020600020906002020160010154600014155b156109a2576107996006828154811061077857fe5b9060005260206000209060020201600101548361113690919063ffffffff16565b600354600680549294506001600160a01b039091169163a9059cbb9190849081106107c057fe5b6000918252602090912060029091020154600680546001600160a01b0390921691859081106107eb57fe5b9060005260206000209060020201600101546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561084c57600080fd5b505af1158015610860573d6000803e3d6000fd5b505050506040513d602081101561087657600080fd5b505060068054606091908390811061088a57fe5b60009182526020808320600160029093020191909101546040805160248082019390935281518082039093018352604401905290810180516001600160e01b0316633c6b16ab60e01b1790526006805491935090849081106108e857fe5b60009182526020918290206002909102015460405184516001600160a01b0390921692859282918401908083835b602083106109355780518252601f199092019160209182019101610916565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610997576040519150601f19603f3d011682016040523d82523d6000602084013e61099c565b606091505b50505050505b6001016106fb565b50600354600480546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018590525192169163a9059cbb916044808201926020929091908290030181600087803b158015610a0557600080fd5b505af1158015610a19573d6000803e3d6000fd5b505050506040513d6020811015610a2f57600080fd5b50506005546040805163fd1f498d60e01b81526004810184905290516001600160a01b039092169163fd1f498d9160248082019260009290919082900301818387803b158015610a7e57600080fd5b505af1158015610a92573d6000803e3d6000fd5b50506040805186815290517f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429350908190036020019150a150600192915050565b6000546001600160a01b03163314610b1c5760405162461bcd60e51b815260040180806020018281038252602f815260200180611286602f913960400191505060405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b03163314610b885760405162461bcd60e51b815260040180806020018281038252602f815260200180611286602f913960400191505060405180910390fd5b6001600160a01b038316610be3576040805162461bcd60e51b815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b81610c2e576040805162461bcd60e51b815260206004820152601660248201527510d85b9d081859190818481e995c9bc8185b5bdd5b9d60521b604482015290519081900360640190fd5b610c36611193565b506040805180820182526001600160a01b03858116808352602080840187815260068054600181018255600082905286517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290920291820180546001600160a01b031916919097161790955590517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909401939093559154845160001991909101815291820152808301859052915190917f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208916060918190039190910190a15060019392505050565b6001546001600160a01b03163314610d6a5760405162461bcd60e51b815260040180806020018281038252603581526020018061120b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b03163314610e265760405162461bcd60e51b815260040180806020018281038252602f815260200180611286602f913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610e915760405162461bcd60e51b815260040180806020018281038252602f815260200180611286602f913960400191505060405180910390fd5b60065460001901811115610ee2576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b805b60065460001901811015610f5c5760068160010181548110610f0257fe5b906000526020600020906002020160068281548110610f1d57fe5b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b039092169190911781556001918201549082015501610ee4565b506006805490610f709060001983016111aa565b5050565b6000546001600160a01b031681565b6004546001600160a01b031681565b6002546001600160a01b031681565b6005546001600160a01b031681565b6000546001600160a01b03163314610ff95760405162461bcd60e51b815260040180806020018281038252602f815260200180611286602f913960400191505060405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b031633146110655760405162461bcd60e51b815260040180806020018281038252602f815260200180611286602f913960400191505060405180910390fd5b600654600019018411156110b6576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b82600685815481106110c457fe5b906000526020600020906002020160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816006858154811061110757fe5b906000526020600020906002020160010181905550600190509392505050565b6003546001600160a01b031681565b60008282111561118d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080518082019091526000808252602082015290565b8154818355818111156111d6576002028160020283600052602060002091820191016111d691906111db565b505050565b61033991905b808211156112065780546001600160a01b0319168155600060018201556002016111e1565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052657761726473446973747269627574696f6e20636f6e747261637420646f6573206e6f74206861766520656e6f75676820746f6b656e7320746f20646973747269627574654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158206793d8262dfe9cdb13a3c5aed769aca8b0b82cdaeb0f13567207c2bd2cecf36a64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_oikosProxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardDistributionAdded",
					"type": "event",
					"signature": "0x08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardsDistributed",
					"type": "event",
					"signature": "0x6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be442"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "addRewardDistribution",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x60eb3ff2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "authority",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbf7e214f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "distributeRewards",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x59974e38"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "distributions",
					"outputs": [
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4487d3df"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "distributionsLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x060ca250"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "editRewardDistribution",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe54c1671"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePoolProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9e9cc4d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "oikosProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xebd50faa"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "removeRewardDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x817a6951"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardEscrow",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa430be6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						}
					],
					"name": "setAuthority",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7a9e5e4b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"name": "setFeePoolProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd8297e44"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_oikosProxy",
							"type": "address"
						}
					],
					"name": "setOikosProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2d122dc6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						}
					],
					"name": "setRewardEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5de39934"
				}
			]
		},
		"SupplySchedule": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$4162ccbd5d91574b6bbbe632a759499ba8$__9063907af6c09060849060209060048186803b15801561004457600080fd5b505af4158015610058573d6000803e3d6000fd5b505050506040513d602081101561006e57600080fd5b505160c80260045534801561008257600080fd5b50604051611108380380611108833981810160405260608110156100a557600080fd5b5080516020820151604090920151909190826001600160a01b038116610112576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060029190915560035550610f84806101846000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80637c060557116100de578063badef30a11610097578063d3bd4bde11610071578063d3bd4bde14610310578063dbd3a6a714610318578063df5a9fc114610320578063ebd50faa1461032857610173565b8063badef30a146102f8578063be801f0114610300578063cc5c095c1461030857610173565b80637c060557146102985780637e1b823f146102a05780637e7961d7146102a85780638da5cb5b146102c55780639bdd7ac7146102cd578063b3b2bcc0146102d557610173565b806346872a231161013057806346872a231461020e57806346b45af7146102165780634ae26521146102325780634e070f501461024f57806353a47bb71461026c57806379ba50971461029057610173565b80631627540c146101785780631de40e49146101a057806322af2bab146101ba578063251330f1146101c257806325542064146101e05780632d122dc6146101e8575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b0316610330565b005b6101a86103cd565b60408051918252519081900360200190f35b6101a86103d8565b6101ca6103e5565b6040805160ff9092168252519081900360200190f35b6101a86103ea565b61019e600480360360208110156101fe57600080fd5b50356001600160a01b03166103f5565b6101a86104e9565b61021e6104f0565b604080519115158252519081900360200190f35b61019e6004803603602081101561024857600080fd5b5035610510565b6101a86004803603602081101561026557600080fd5b50356105dc565b61027461069d565b604080516001600160a01b039092168252519081900360200190f35b61019e6106ac565b6101ca610768565b6101a861076d565b61021e600480360360208110156102be57600080fd5b5035610775565b6102746108e2565b6101a86108f1565b6101a8600480360360408110156102eb57600080fd5b50803590602001356108f7565b6101a8610a31565b6101a8610a40565b6101a8610a46565b6101a8610ba4565b6101a8610baa565b6101a8610bff565b610274610c06565b6000546001600160a01b031633146103795760405162461bcd60e51b815260040180806020018281038252602f815260200180610eab602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b662c68af0bb1400081565b680ad78ebc5ac620000081565b602881565b6658d15e1762800081565b6000546001600160a01b0316331461043e5760405162461bcd60e51b815260040180806020018281038252602f815260200180610eab602f913960400191505060405180910390fd5b6001600160a01b03811661048f576040805162461bcd60e51b81526020600482015260136024820152720416464726573732063616e6e6f74206265203606c1b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fb3f04140ca6cfdbdb1278a4f6a248ddacb81a1006675931f2d9735a5468213b2916020908290030190a150565b6201518081565b600062093a80600254420311156105095750600161050d565b5060005b90565b6000546001600160a01b031633146105595760405162461bcd60e51b815260040180806020018281038252602f815260200180610eab602f913960400191505060405180910390fd5b680ad78ebc5ac62000008111156105a15760405162461bcd60e51b8152600401808060200182810382526026815260200180610efb6026913960400191505060405180910390fd5b60048190556040805182815290517f036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d309181900360200190a150565b6000806106768361066a662c68af0bb1400073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561063257600080fd5b505af4158015610646573d6000803e3d6000fd5b505050506040513d602081101561065c57600080fd5b50519063ffffffff610c1516565b9063ffffffff610c7216565b905060006106956a01316ba81b802f59713b138363ffffffff610d2e16565b949350505050565b6001546001600160a01b031681565b6001546001600160a01b031633146106f55760405162461bcd60e51b8152600401808060200182810382526035815260200180610e766035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60ea81565b635c7f0d8081565b60055460408051636a5c1cc960e11b815290516000926001600160a01b03169163d4b83992916004808301926020929190829003018186803b1580156107ba57600080fd5b505afa1580156107ce573d6000803e3d6000fd5b505050506040513d60208110156107e457600080fd5b50516001600160a01b0316331461082c5760405162461bcd60e51b815260040180806020018281038252602f815260200180610f21602f913960400191505060405180910390fd5b6000610836610baa565b60035490915061084c908263ffffffff610d5816565b600381905561088e906201518090610882906108719062093a8063ffffffff610db216565b635c7f0d809063ffffffff610d5816565b9063ffffffff610d5816565b6002819055604080518581526020810184905280820192909252426060830152517f601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab9181900360800190a150600192915050565b6000546001600160a01b031681565b60045481565b6000806109958361066a6109196658d15e17628000603463ffffffff610e0b16565b73__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561095d57600080fd5b505af4158015610971573d6000803e3d6000fd5b505050506040513d602081101561098757600080fd5b50519063ffffffff610d5816565b9050610a27610a1a73__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156109e157600080fd5b505af41580156109f5573d6000803e3d6000fd5b505050506040513d6020811015610a0b57600080fd5b5051839063ffffffff610c1516565b859063ffffffff610d2e16565b9150505b92915050565b6a01316ba81b802f59713b1381565b60025481565b600080610a516104f0565b610a5c57905061050d565b6000610a66610baa565b6003549091505b8115610b9c576001016028811015610aa857610a9a836a01316ba81b802f59713b1363ffffffff610d5816565b925060001990910190610b97565b60ea8111610aed576000610ac382602763ffffffff610c1516565b9050610ade610ad1826105dc565b859063ffffffff610d5816565b93505060001990910190610b97565b600554604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610b3257600080fd5b505afa158015610b46573d6000803e3d6000fd5b505050506040513d6020811015610b5c57600080fd5b505190506000610b72828663ffffffff610d5816565b9050610b8e610b8182866108f7565b869063ffffffff610d5816565b94506000935050505b610a6d565b509091505090565b60035481565b600080600060025411610bd057610bcb42635c7f0d8063ffffffff610c1516565b610be4565b600254610be490429063ffffffff610c1516565b9050610bf98162093a8063ffffffff610e0b16565b91505090565b62093a8081565b6005546001600160a01b031681565b600082821115610c6c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610cb957600080fd5b505af4158015610ccd573d6000803e3d6000fd5b505050506040513d6020811015610ce357600080fd5b505190505b8215610d27576002830615610d0a57610d07818563ffffffff610d2e16565b90505b610d1a848063ffffffff610d2e16565b9350600283049250610ce8565b9392505050565b6000670de0b6b3a7640000610d49848463ffffffff610db216565b81610d5057fe5b049392505050565b600082820183811015610d27576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082610dc157506000610a2b565b82820282848281610dce57fe5b0414610d275760405162461bcd60e51b8152600401808060200182810382526021815260200180610eda6021913960400191505060405180910390fd5b6000808211610e61576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610e6c57fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775265776172642063616e6e6f7420657863656564206d6178206d696e746572207265776172644f6e6c7920746865206f696b6f7320636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820a319310b7682d935659f89ffdad911bbcbf58328cd0d94de20c93f78f8e7048164736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_lastMintEvent",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_currentWeek",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRewardAmount",
							"type": "uint256"
						}
					],
					"name": "MinterRewardUpdated",
					"type": "event",
					"signature": "0x036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d30"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newAddress",
							"type": "address"
						}
					],
					"name": "OikosProxyUpdated",
					"type": "event",
					"signature": "0xb3f04140ca6cfdbdb1278a4f6a248ddacb81a1006675931f2d9735a5468213b2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "supplyMinted",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "numberOfWeeksIssued",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lastMintEvent",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "SupplyMinted",
					"type": "event",
					"signature": "0x601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECAY_RATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1de40e49"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "INFLATION_START_DATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e1b823f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "INITIAL_WEEKLY_SUPPLY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbadef30a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINTER_REWARD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22af2bab"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MINT_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46872a23"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MINT_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdf5a9fc1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUPPLY_DECAY_END",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c060557"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUPPLY_DECAY_START",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x251330f1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TERMINAL_SUPPLY_RATE_ANNUAL",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x25542064"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isMintable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46b45af7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastMintEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbe801f01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "mintableSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcc5c095c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minterReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9bdd7ac7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "oikosProxy",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xebd50faa"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "supplyMinted",
							"type": "uint256"
						}
					],
					"name": "recordMintEvent",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7e7961d7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setMinterReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4ae26521"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IOikos",
							"name": "_oikosProxy",
							"type": "address"
						}
					],
					"name": "setOikosProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2d122dc6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numOfWeeks",
							"type": "uint256"
						}
					],
					"name": "terminalInflationSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0xb3b2bcc0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "counter",
							"type": "uint256"
						}
					],
					"name": "tokenDecaySupplyForWeek",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0x4e070f50"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "weekCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd3bd4bde"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "weeksSinceLastIssuance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd3a6a7"
				}
			]
		},
		"ProxyERC20": {
			"bytecode": "608060405234801561001057600080fd5b50604051610fb6380380610fb68339818101604052602081101561003357600080fd5b505180806001600160a01b038116610092576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505050610eba806100fc6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b4114610473578063a9059cbb14610488578063d4b83992146104c1578063dd62ed3e146104d6576100f3565b8063776d1a011461038157806379ba5097146103b45780638da5cb5b146103c9578063907dff97146103de576100f3565b806323b872dd116100c657806323b872dd146102af578063313ce567146102f257806353a47bb71461031d57806370a082311461034e576100f3565b806306fdde031461017c578063095ea7b3146102065780631627540c1461025357806318160ddd14610288575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e80610178573d82fd5b3d82f35b34801561018857600080fd5b50610191610511565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021257600080fd5b5061023f6004803603604081101561022957600080fd5b506001600160a01b038135169060200135610648565b604080519115158252519081900360200190f35b34801561025f57600080fd5b506102866004803603602081101561027657600080fd5b50356001600160a01b0316610736565b005b34801561029457600080fd5b5061029d6107d3565b60408051918252519081900360200190f35b3480156102bb57600080fd5b5061023f600480360360608110156102d257600080fd5b506001600160a01b03813581169160208101359091169060400135610849565b3480156102fe57600080fd5b50610307610940565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b50610332610985565b604080516001600160a01b039092168252519081900360200190f35b34801561035a57600080fd5b5061029d6004803603602081101561037157600080fd5b50356001600160a01b0316610994565b34801561038d57600080fd5b50610286600480360360208110156103a457600080fd5b50356001600160a01b0316610a17565b3480156103c057600080fd5b50610286610ab4565b3480156103d557600080fd5b50610332610b70565b3480156103ea57600080fd5b50610286600480360360c081101561040157600080fd5b81019060208101813564010000000081111561041c57600080fd5b82018360208201111561042e57600080fd5b8035906020019184600183028401116401000000008311171561045057600080fd5b919350915080359060208101359060408101359060608101359060800135610b7f565b34801561047f57600080fd5b50610191610c88565b34801561049457600080fd5b5061023f600480360360408110156104ab57600080fd5b506001600160a01b038135169060200135610ccd565b3480156104cd57600080fd5b50610332610d86565b3480156104e257600080fd5b5061029d600480360360408110156104f957600080fd5b506001600160a01b0381358116916020013516610d95565b600254604080516306fdde0360e01b815290516060926001600160a01b0316916306fdde03916004808301926000929190829003018186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561059357600080fd5b81019080805160405193929190846401000000008211156105b357600080fd5b9083019060208201858111156105c857600080fd5b82516401000000008111828201881017156105e257600080fd5b82525081516020918201929091019080838360005b8381101561060f5781810151838201526020016105f7565b50505050905090810190601f16801561063c5780820380516001836020036101000a031916815260200191505b50604052505050905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506002546040805163095ea7b360e01b81526001600160a01b03888116600483015260248201889052915191909216935063095ea7b3925060448083019260209291908290030181600087803b15801561070157600080fd5b505af1158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b506001949350505050565b6000546001600160a01b0316331461077f5760405162461bcd60e51b815260040180806020018281038252602f815260200180610e57602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561081857600080fd5b505afa15801561082c573d6000803e3d6000fd5b505050506040513d602081101561084257600080fd5b5051905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561089457600080fd5b505af11580156108a8573d6000803e3d6000fd5b5050600254604080516323b872dd60e01b81526001600160a01b03898116600483015288811660248301526044820188905291519190921693506323b872dd925060648083019260209291908290030181600087803b15801561090a57600080fd5b505af115801561091e573d6000803e3d6000fd5b505050506040513d602081101561093457600080fd5b50600195945050505050565b6002546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561081857600080fd5b6001546001600160a01b031681565b600254604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109e557600080fd5b505afa1580156109f9573d6000803e3d6000fd5b505050506040513d6020811015610a0f57600080fd5b505192915050565b6000546001600160a01b03163314610a605760405162461bcd60e51b815260040180806020018281038252602f815260200180610e57602f913960400191505060405180910390fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b03163314610afd5760405162461bcd60e51b8152600401808060200182810382526035815260200180610e226035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610bd5576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610c3f5760018114610c4a5760028114610c565760038114610c635760048114610c7157610c7c565b8260208301a0610c7c565b868360208401a1610c7c565b85878460208501a2610c7c565b8486888560208601a3610c7c565b838587898660208701a45b50505050505050505050565b600254604080516395d89b4160e01b815290516060926001600160a01b0316916395d89b41916004808301926000929190829003018186803b15801561055657600080fd5b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b158015610d1857600080fd5b505af1158015610d2c573d6000803e3d6000fd5b50506002546040805163a9059cbb60e01b81526001600160a01b03888116600483015260248201889052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561070157600080fd5b6002546001600160a01b031681565b60025460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610dee57600080fd5b505afa158015610e02573d6000803e3d6000fd5b505050506040513d6020811015610e1857600080fd5b5051939250505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158207ffe663c13db6161a9b5e1fc87aa69fdeed7a8037da2faed4d35421a0a1ab6e964736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes",
							"name": "callData",
							"type": "bytes"
						},
						{
							"internalType": "uint256",
							"name": "numTopics",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "topic1",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic2",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic3",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic4",
							"type": "bytes32"
						}
					],
					"name": "_emit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x907dff97"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				}
			]
		},
		"TokenState": {
			"bytecode": "608060405234801561001057600080fd5b506040516107943803806107948339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506105ee806101a66000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b80631627540c146100a357806352f445ca146100cb57806353a47bb7146100f157806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100c9600480360360208110156100e157600080fd5b50356001600160a01b0316610292565b6100f961032f565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603602081101561012b57600080fd5b50356001600160a01b031661033e565b60408051918252519081900360200190f35b6100c9610350565b6100f961040c565b6100f961041b565b6100c96004803603604081101561017b57600080fd5b506001600160a01b03813516906020013561042a565b6100c9600480360360608110156101a757600080fd5b506001600160a01b0381358116916020810135909116906040013561048f565b61013b600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610504565b6000546001600160a01b0316331461023e5760405162461bcd60e51b815260040180806020018281038252602f815260200180610557602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000546001600160a01b031633146102db5760405162461bcd60e51b815260040180806020018281038252602f815260200180610557602f913960400191505060405180910390fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60036020526000908152604090205481565b6001546001600160a01b031633146103995760405162461bcd60e51b81526004018080602001828103825260358152602001806105226035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146104735760405162461bcd60e51b81526004018080602001828103825260348152602001806105866034913960400191505060405180910390fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146104d85760405162461bcd60e51b81526004018080602001828103825260348152602001806105866034913960400191505060405180910390fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b60046020908152600092835260408084209091529082529020548156fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582030ff1ab4fe1d53fed51b6960110842eae05706662b8d380424ae2cd53695c46b64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenOwner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setAllowance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xda46098c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setBalanceOf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb46310f6"
				}
			]
		},
		"Oikos": {
			"bytecode": "6101406040526b53797374656d53746174757360a01b60809081526822bc31b430b733b2b960b91b60a0526524b9b9bab2b960d11b60c0526d537570706c795363686564756c6560901b60e0527f52657761726473446973747269627574696f6e0000000000000000000000000061010052694f696b6f73537461746560b01b610120526200009390600e906006620004da565b50348015620000a157600080fd5b5060405162004eca38038062004eca833981810160405260a0811015620000c757600080fd5b5080516020820151604080840151606085015160809095015182516103008101938490529495939491939290918291600e9060189082845b815481526020019060010190808311620000ff57505050505086866040518060400160405280601381526020017f4f696b6f73204e6574776f726b20546f6b656e00000000000000000000000000815250604051806040016040528060038152602001624f4b5360e81b8152508760128a868160006001600160a01b0316816001600160a01b03161415620001db576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000286576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005460038054610100600160a81b0319166101006001600160a01b0390931692830217905560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53916020908290030190a16000546001600160a01b031662000331576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600780546001600160a01b0319166001600160a01b0388161790558451620003b39060089060208801906200051d565b508351620003c99060099060208701906200051d565b5050600a91909155600b805460ff191660ff90921691909117905550506000546001600160a01b0316151591506200043e9050576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620004a65760008282601881106200045a57fe5b6020020151146200049757600d8282601881106200047457fe5b60209081029190910151825460018101845560009384529190922001556200049d565b620004a6565b60010162000441565b5050600b80546001600160a01b0390921661010002610100600160a81b031990921691909117905550620005af9350505050565b82601881019282156200050b579160200282015b828111156200050b578251825591602001919060010190620004ee565b50620005199291506200058f565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200056057805160ff19168380011785556200050b565b828001600101855582156200050b57918201828111156200050b578251825591602001919060010190620004ee565b620005ac91905b8082111562000519576000815560010162000596565b90565b61490b80620005bf6000396000f3fe608060405234801561001057600080fd5b50600436106104125760003560e01c80638da5cb5b11610220578063b8225dec11610130578063d67bdd25116100b8578063e6203ed111610087578063e6203ed114610bf6578063e8e09b8b14610c22578063e90dd9e214610c4e578063ec55688914610c56578063ee52a2f314610c5e57610412565b8063d67bdd2514610bb0578063dbf6334014610bb8578063dd62ed3e14610bc0578063e3235c9114610bee57610412565b8063c58aaae6116100ff578063c58aaae614610b0a578063c6c9d82814610b12578063c836fa0a14610b2f578063d37c4d8b14610b67578063d60888e414610b9357610412565b8063b8225dec14610aa8578063bc67f83214610ab0578063bd32aa4414610ad6578063c2bf388014610ade57610412565b8063a311c7c2116101b3578063ab49848c11610182578063ab49848c146109ff578063ace88afd14610a40578063ad746d8114610a72578063af086c7e14610a7a578063b4fb3a8114610a8257610412565b8063a311c7c21461097f578063a461fc82146109a5578063a5fdc5de146109ad578063a9059cbb146109d357610412565b8063987757dd116101ef578063987757dd1461092c5780639cb8a26a146109495780639cbdaeb6146109515780639f7698071461095957610412565b80638da5cb5b146108ee57806395d89b41146108f657806397107d6d146108fe5780639741fb221461092457610412565b80632c955fa711610326578063631e1444116102ae57806372cb051f1161027d57806372cb051f1461083757806379ba50971461088f578063835e119c1461089757806383d625d4146108b45780638a290014146108d157610412565b8063631e1444146107735780636c00f310146107995780636f01a986146107df57806370a082311461081157610412565b806332608039116102f557806332608039146107185780633278c960146107355780633be99e6f1461073d57806353a47bb7146107635780635802a1721461076b57610412565b80632c955fa7146106a65780632e0f2625146106cc578063313ce567146106ea578063320223db146106f257610412565b806316b2213f116103a95780631fce304d116103785780631fce304d1461060857806320714f881461062557806323b872dd1461064b578063295da87d146106815780632a9053181461069e57610412565b806316b2213f146105ca57806317c70de4146105f057806318160ddd146105f8578063188214001461060057610412565b80631137aedf116103e55780631137aedf146105305780631249c58b14610574578063131b0ae71461057c5780631627540c146105a457610412565b806304f3bcec1461041757806305b3c1c91461043b57806306fdde0314610473578063095ea7b3146104f0575b600080fd5b61041f610c87565b604080516001600160a01b039092168252519081900360200190f35b6104616004803603602081101561045157600080fd5b50356001600160a01b0316610c9b565b60408051918252519081900360200190f35b61047b610d2e565b6040805160208082528351818301528351919283929083019185019080838360005b838110156104b557818101518382015260200161049d565b50505050905090810190601f1680156104e25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61051c6004803603604081101561050657600080fd5b506001600160a01b038135169060200135610dbc565b604080519115158252519081900360200190f35b6105566004803603602081101561054657600080fd5b50356001600160a01b0316610ea4565b60408051938452602084019290925282820152519081900360600190f35b61051c610f4a565b6105a26004803603602081101561059257600080fd5b50356001600160a01b031661143e565b005b6105a2600480360360208110156105ba57600080fd5b50356001600160a01b03166114a9565b610461600480360360208110156105e057600080fd5b50356001600160a01b0316611546565b6104616115a5565b6104616115ab565b61047b6115b1565b61051c6004803603602081101561061e57600080fd5b50356115e0565b6105a26004803603602081101561063b57600080fd5b50356001600160a01b0316611673565b61051c6004803603606081101561066157600080fd5b506001600160a01b03813581169160208101359091169060400135611773565b6105a26004803603602081101561069757600080fd5b503561184e565b61047b611976565b6105a2600480360360208110156106bc57600080fd5b50356001600160a01b0316611995565b6106d4611aa2565b6040805160ff9092168252519081900360200190f35b6106d4611aa7565b6105a26004803603602081101561070857600080fd5b50356001600160a01b0316611ab0565b61041f6004803603602081101561072e57600080fd5b5035611bbd565b6105a2611c0a565b6105a26004803603602081101561075357600080fd5b50356001600160a01b0316611c8d565b61041f611e04565b610461611e13565b61051c6004803603602081101561078957600080fd5b50356001600160a01b0316611e1e565b6105a2600480360360c08110156107af57600080fd5b506001600160a01b03813581169160208101359160408201359160608101359160808201359160a0013516611f45565b6105a2600480360360608110156107f557600080fd5b506001600160a01b03813516906020810135906040013561210a565b6104616004803603602081101561082757600080fd5b50356001600160a01b03166122b1565b61083f612302565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561087b578181015183820152602001610863565b505050509050019250505060405180910390f35b6105a2612412565b61041f600480360360208110156108ad57600080fd5b50356124ce565b610461600480360360208110156108ca57600080fd5b503561251b565b6105a2600480360360208110156108e757600080fd5b5035612575565b61041f612680565b61047b61268f565b6105a26004803603602081101561091457600080fd5b50356001600160a01b03166126ea565b6105a2612787565b6105566004803603602081101561094257600080fd5b50356128a6565b6105a2612975565b61041f612ac7565b6105a26004803603602081101561096f57600080fd5b50356001600160a01b0316612ad6565b6104616004803603602081101561099557600080fd5b50356001600160a01b0316612baa565b610461612c09565b610461600480360360208110156109c357600080fd5b50356001600160a01b0316612c10565b61051c600480360360408110156109e957600080fd5b506001600160a01b038135169060200135612c6f565b610a07612d4e565b604051808261030080838360005b83811015610a2d578181015183820152602001610a15565b5050505090500191505060405180910390f35b6105a260048036036060811015610a5657600080fd5b506001600160a01b038135169060208101359060400135612d98565b61051c612e5e565b6105a2612ed1565b61046160048036036020811015610a9857600080fd5b50356001600160a01b0316612fd6565b61051c6130dd565b6105a260048036036020811015610ac657600080fd5b50356001600160a01b03166130e6565b6105a261317c565b6105a260048036036040811015610af457600080fd5b506001600160a01b03813516906020013561320e565b61041f61333e565b61046160048036036020811015610b2857600080fd5b5035613352565b61046160048036036080811015610b4557600080fd5b506001600160a01b038135169060208101359060408101359060600135613370565b61046160048036036040811015610b7d57600080fd5b506001600160a01b038135169060200135613472565b61046160048036036020811015610ba957600080fd5b503561350c565b61041f613566565b610461613575565b61046160048036036040811015610bd657600080fd5b506001600160a01b03813581169160200135166135b7565b610461613610565b61051c60048036036040811015610c0c57600080fd5b506001600160a01b038135169060200135613615565b6105a260048036036040811015610c3857600080fd5b506001600160a01b03813516906020013561379f565b61041f6138b3565b61041f6138c2565b61046160048036036060811015610c7457600080fd5b50803590602081013590604001356138d1565b600b5461010090046001600160a01b031681565b6000610ca56139d1565b6001600160a01b03166305b3c1c9836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610cfa57600080fd5b505afa158015610d0e573d6000803e3d6000fd5b505050506040513d6020811015610d2457600080fd5b505190505b919050565b6008805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610db45780601f10610d8957610100808354040283529160200191610db4565b820191906000526020600020905b815481529060010190602001808311610d9757829003601f168201915b505050505081565b6004546000906001600160a01b03163314801590610de557506005546001600160a01b03163314155b8015610dfc57506006546001600160a01b03163314155b15610e1457600680546001600160a01b031916331790555b60065460075460408051633691826360e21b81526001600160a01b0393841660048201819052878516602483015260448201879052915191939092169163da46098c91606480830192600092919082900301818387803b158015610e7757600080fd5b505af1158015610e8b573d6000803e3d6000fd5b50505050610e9a818585613a57565b5060019392505050565b6000806000610eb16139d1565b6001600160a01b0316631137aedf856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060606040518083038186803b158015610f0657600080fd5b505afa158015610f1a573d6000803e3d6000fd5b505050506040513d6060811015610f3057600080fd5b508051602082015160409092015190969195509350915050565b6000610f54613b21565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610f8c57600080fd5b505afa158015610fa0573d6000803e3d6000fd5b5050505060006001600160a01b0316610fb7613bb4565b6001600160a01b03161415611013576040805162461bcd60e51b815260206004820152601b60248201527f52657761726473446973747269627574696f6e206e6f74207365740000000000604482015290519081900360640190fd5b600061101d613c36565b90506000611029613bb4565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561106657600080fd5b505afa15801561107a573d6000803e3d6000fd5b505050506040513d602081101561109057600080fd5b50519050806110de576040805162461bcd60e51b81526020600482015260156024820152744e6f20737570706c79206973206d696e7461626c6560581b604482015290519081900360640190fd5b826001600160a01b0316637e7961d7826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561112457600080fd5b505af1158015611138573d6000803e3d6000fd5b505050506040513d602081101561114e57600080fd5b505060408051639bdd7ac760e01b815290516000916001600160a01b03861691639bdd7ac791600480820192602092909190829003018186803b15801561119457600080fd5b505afa1580156111a8573d6000803e3d6000fd5b505050506040513d60208110156111be57600080fd5b5051905060006111d4838363ffffffff613ccb16565b600754604080516370a0823160e01b81526001600160a01b038881166004830152915193945091169163b46310f691879161126a91869186916370a08231916024808301926020929190829003018186803b15801561123257600080fd5b505afa158015611246573d6000803e3d6000fd5b505050506040513d602081101561125c57600080fd5b50519063ffffffff613d2816565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156112b957600080fd5b505af11580156112cd573d6000803e3d6000fd5b505050506112dc308583613d89565b836001600160a01b03166359974e38826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561132257600080fd5b505af1158015611336573d6000803e3d6000fd5b505050506040513d602081101561134c57600080fd5b5050600754604080516370a0823160e01b8152336004820181905291516001600160a01b039093169263b46310f692916113aa91879186916370a0823191602480820192602092909190829003018186803b15801561123257600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156113f957600080fd5b505af115801561140d573d6000803e3d6000fd5b5050505061141c303384613d89565b600a5461142f908463ffffffff613d2816565b600a5550600194505050505090565b6000546001600160a01b031633146114875760405162461bcd60e51b815260040180806020018281038252602f8152602001806147c4602f913960400191505060405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114f25760405162461bcd60e51b815260040180806020018281038252602f8152602001806147c4602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006115506139d1565b6001600160a01b03166316b2213f836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610cfa57600080fd5b60025481565b600a5481565b6040518060400160405280601381526020017227b4b5b7b9902732ba3bb7b935902a37b5b2b760691b81525081565b6000806115eb613ddc565b600654604080516301670a7b60e21b81526001600160a01b039283166004820152602481018790529051929091169163059c29ec91604480820192602092909190829003018186803b15801561164057600080fd5b505afa158015611654573d6000803e3d6000fd5b505050506040513d602081101561166a57600080fd5b50511192915050565b6000546001600160a01b031633146116bc5760405162461bcd60e51b815260040180806020018281038252602f8152602001806147c4602f913960400191505060405180910390fd5b6001600160a01b038116611717576040805162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b600380546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b6004546000906001600160a01b0316331480159061179c57506005546001600160a01b03163314155b80156117b357506006546001600160a01b03163314155b156117cb57600680546001600160a01b031916331790555b6117d3613b21565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561180b57600080fd5b505afa15801561181f573d6000803e3d6000fd5b5050505061182d8483613e6c565b50600654611846906001600160a01b031685858561409d565b949350505050565b611856613b21565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561188e57600080fd5b505afa1580156118a2573d6000803e3d6000fd5b50506004546001600160a01b031633148015925090506118cd57506005546001600160a01b03163314155b80156118e457506006546001600160a01b03163314155b156118fc57600680546001600160a01b031916331790555b6119046139d1565b6006546040805163b06e8c6560e01b81526001600160a01b039283166004820152602481018590529051929091169163b06e8c659160448082019260009290919082900301818387803b15801561195a57600080fd5b505af115801561196e573d6000803e3d6000fd5b505050505b50565b604051806040016040528060038152602001624f4b5360e81b81525081565b61199d613b21565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119d557600080fd5b505afa1580156119e9573d6000803e3d6000fd5b50506004546001600160a01b03163314801592509050611a1457506005546001600160a01b03163314155b8015611a2b57506006546001600160a01b03163314155b15611a4357600680546001600160a01b031916331790555b611a4b6139d1565b6006546040805163159fa0d560e11b81526001600160a01b038581166004830152928316602482015290519290911691632b3f41aa9160448082019260009290919082900301818387803b15801561195a57600080fd5b601281565b600b5460ff1681565b611ab8613b21565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611af057600080fd5b505afa158015611b04573d6000803e3d6000fd5b50506004546001600160a01b03163314801592509050611b2f57506005546001600160a01b03163314155b8015611b4657506006546001600160a01b03163314155b15611b5e57600680546001600160a01b031916331790555b611b666139d1565b6006546040805163fd864ccf60e01b81526001600160a01b03858116600483015292831660248201529051929091169163fd864ccf9160448082019260009290919082900301818387803b15801561195a57600080fd5b6000611bc76139d1565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610cfa57600080fd5b6000546001600160a01b03163314611c535760405162461bcd60e51b815260040180806020018281038252602f8152602001806147c4602f913960400191505060405180910390fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b6000546001600160a01b03163314611cd65760405162461bcd60e51b815260040180806020018281038252602f8152602001806147c4602f913960400191505060405180910390fd5b600b8054610100600160a81b0319166101006001600160a01b0384160217905560005b600d54811015611e00576000600d8281548110611d1257fe5b60009182526020918290200154600b546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506101009091046001600160a01b03169263dacb2d0192608480840193829003018186803b158015611da057600080fd5b505afa158015611db4573d6000803e3d6000fd5b505050506040513d6020811015611dca57600080fd5b50516000918252600c602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101611cf9565b5050565b6001546001600160a01b031681565b631bd554d160e21b81565b600b546000906001600160a01b038381166101009092041614611e4357506000610d29565b60005b600d54811015611f3c576000600d8281548110611e5f57fe5b6000918252602080832090910154808352600c825260409283902054600b5484516321f8a72160e01b81526004810184905294519295506001600160a01b0391821694610100909104909116926321f8a72192602480840193829003018186803b158015611ecc57600080fd5b505afa158015611ee0573d6000803e3d6000fd5b505050506040513d6020811015611ef657600080fd5b50516001600160a01b0316141580611f2357506000818152600c60205260409020546001600160a01b0316155b15611f3357600092505050610d29565b50600101611e46565b50600192915050565b611f4d613ddc565b6001600160a01b0316336001600160a01b031614611fb2576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015290519081900360640190fd5b600454604080516020810188905280820187905260608101869052608081018590526001600160a01b0384811660a0808401919091528351808403909101815260c0909201928390529092169163907dff979160029080603e6147868239603e01905060405180910390206120268b6141cb565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015612099578181015183820152602001612081565b50505050905090810190601f1680156120c65780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156120ea57600080fd5b505af11580156120fe573d6000803e3d6000fd5b50505050505050505050565b612112613ddc565b6001600160a01b0316336001600160a01b031614612177576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015290519081900360640190fd5b60045460408051602081018590528082018490528151808203830181526060909101918290526001600160a01b039092169163907dff97916002908060276148378239602701905060405180910390206121d0886141cb565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561224357818101518382015260200161222b565b50505050905090810190601f1680156122705780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561229457600080fd5b505af11580156122a8573d6000803e3d6000fd5b50505050505050565b600754604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610cfa57600080fd5b606061230c6139d1565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561234457600080fd5b505afa158015612358573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561238157600080fd5b81019080805160405193929190846401000000008211156123a157600080fd5b9083019060208201858111156123b657600080fd5b82518660208202830111640100000000821117156123d357600080fd5b82525081516020918201928201910280838360005b838110156124005781810151838201526020016123e8565b50505050905001604052505050905090565b6001546001600160a01b0316331461245b5760405162461bcd60e51b81526004018080602001828103825260358152602001806147296035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006124d86139d1565b6001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610cfa57600080fd5b60006125256139d1565b6001600160a01b0316637b1001b78360006040518363ffffffff1660e01b815260040180838152602001821515151581526020019250505060206040518083038186803b158015610cfa57600080fd5b61257d613b21565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156125b557600080fd5b505afa1580156125c9573d6000803e3d6000fd5b50506004546001600160a01b031633148015925090506125f457506005546001600160a01b03163314155b801561260b57506006546001600160a01b03163314155b1561262357600680546001600160a01b031916331790555b61262b6139d1565b600654604080516285c0d160e31b81526001600160a01b039283166004820152602481018590529051929091169163042e06889160448082019260009290919082900301818387803b15801561195a57600080fd5b6000546001600160a01b031681565b6009805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610db45780601f10610d8957610100808354040283529160200191610db4565b6000546001600160a01b031633146127335760405162461bcd60e51b815260040180806020018281038252602f8152602001806147c4602f913960400191505060405180910390fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b61278f613b21565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156127c757600080fd5b505afa1580156127db573d6000803e3d6000fd5b50506004546001600160a01b0316331480159250905061280657506005546001600160a01b03163314155b801561281d57506006546001600160a01b03163314155b1561283557600680546001600160a01b031916331790555b61283d6139d1565b600654604080516324beb82560e11b81526001600160a01b0392831660048201529051929091169163497d704a9160248082019260009290919082900301818387803b15801561288c57600080fd5b505af11580156128a0573d6000803e3d6000fd5b50505050565b600454600090819081906001600160a01b031633148015906128d357506005546001600160a01b03163314155b80156128ea57506006546001600160a01b03163314155b1561290257600680546001600160a01b031916331790555b61290a613ddc565b600654604080516306c5a00b60e21b81526001600160a01b0392831660048201526024810188905290519290911691631b16802c916044808201926060929091908290030181600087803b15801561296157600080fd5b505af1158015610f1a573d6000803e3d6000fd5b6000546001600160a01b031633146129be5760405162461bcd60e51b815260040180806020018281038252602f8152602001806147c4602f913960400191505060405180910390fd5b60035460ff16612a15576040805162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea006002540110612a70576040805162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b600354604080516101009092046001600160a01b03168252517f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7916020908290030190a160035461010090046001600160a01b0316ff5b6005546001600160a01b031681565b6004546001600160a01b03163314801590612afc57506005546001600160a01b03163314155b8015612b1357506006546001600160a01b03163314155b15612b2b57600680546001600160a01b031916331790555b6000546006546001600160a01b03908116911614612b86576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b038316179055611973816141d7565b6000612bb46139d1565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610cfa57600080fd5b6224ea0081565b6000612c1a6139d1565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610cfa57600080fd5b6004546000906001600160a01b03163314801590612c9857506005546001600160a01b03163314155b8015612caf57506006546001600160a01b03163314155b15612cc757600680546001600160a01b031916331790555b612ccf613b21565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015612d0757600080fd5b505afa158015612d1b573d6000803e3d6000fd5b5050600654612d3692506001600160a01b0316905083613e6c565b50600654610e9a906001600160a01b03168484614300565b612d56614709565b60005b600d54811015612d9457600d8181548110612d7057fe5b9060005260206000200154828260188110612d8757fe5b6020020152600101612d59565b5090565b612da0613ddc565b6001600160a01b0316336001600160a01b031614612e05576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015290519081900360640190fd5b60045460408051602081018590528082018490528151808203830181526060909101918290526001600160a01b039092169163907dff979160029080602861475e8239602801905060405180910390206121d0886141cb565b6000612e686139d1565b6001600160a01b031663ad746d816040518163ffffffff1660e01b815260040160206040518083038186803b158015612ea057600080fd5b505afa158015612eb4573d6000803e3d6000fd5b505050506040513d6020811015612eca57600080fd5b5051905090565b612ed9613b21565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f1157600080fd5b505afa158015612f25573d6000803e3d6000fd5b50506004546001600160a01b03163314801592509050612f5057506005546001600160a01b03163314155b8015612f6757506006546001600160a01b03163314155b15612f7f57600680546001600160a01b031916331790555b612f876139d1565b6006546040805163644bb89960e11b81526001600160a01b0392831660048201529051929091169163c89771329160248082019260009290919082900301818387803b15801561288c57600080fd5b6000612fe06139d1565b600754604080516370a0823160e01b81526001600160a01b03868116600483015291519382169363fc74f46693879316916370a08231916024808301926020929190829003018186803b15801561303657600080fd5b505afa15801561304a573d6000803e3d6000fd5b505050506040513d602081101561306057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091528051604480840193829003018186803b1580156130ab57600080fd5b505afa1580156130bf573d6000803e3d6000fd5b505050506040513d60408110156130d557600080fd5b505192915050565b60035460ff1681565b6004546001600160a01b031633148061310957506005546001600160a01b031633145b61315a576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146131c55760405162461bcd60e51b815260040180806020018281038252602f8152602001806147c4602f913960400191505060405180910390fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b613216613b21565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561324e57600080fd5b505afa158015613262573d6000803e3d6000fd5b50506004546001600160a01b0316331480159250905061328d57506005546001600160a01b03163314155b80156132a457506006546001600160a01b03163314155b156132bc57600680546001600160a01b031916331790555b6132c46139d1565b60065460408051632694552d60e21b81526001600160a01b03868116600483015292831660248201526044810185905290519290911691639a5154b49160648082019260009290919082900301818387803b15801561332257600080fd5b505af1158015613336573d6000803e3d6000fd5b505050505050565b60035461010090046001600160a01b031681565b600d818154811061335f57fe5b600091825260209091200154905081565b6004546000906001600160a01b0316331480159061339957506005546001600160a01b03163314155b80156133b057506006546001600160a01b03163314155b156133c857600680546001600160a01b031916331790555b6133d0613ddc565b60065460408051630d4388eb60e31b81526001600160a01b038981166004830152928316602482015260448101889052606481018790526084810186905290519290911691636a1c47589160a4808201926020929091908290030181600087803b15801561343d57600080fd5b505af1158015613451573d6000803e3d6000fd5b505050506040513d602081101561346757600080fd5b505195945050505050565b600061347c6139d1565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156134d957600080fd5b505afa1580156134ed573d6000803e3d6000fd5b505050506040513d602081101561350357600080fd5b50519392505050565b60006135166139d1565b6001600160a01b0316637b1001b78360016040518363ffffffff1660e01b815260040180838152602001821515151581526020019250505060206040518083038186803b158015610cfa57600080fd5b6006546001600160a01b031681565b600061357f6139d1565b6001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015612ea057600080fd5b60075460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b1580156134d957600080fd5b601881565b600061361f613b21565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561365757600080fd5b505afa15801561366b573d6000803e3d6000fd5b50506004546001600160a01b0316331480159250905061369657506005546001600160a01b03163314155b80156136ad57506006546001600160a01b03163314155b156136c557600680546001600160a01b031916331790555b6000806136d06139d1565b6006546040805163298f137d60e21b81526001600160a01b0389811660048301526024820189905292831660448201528151939092169263a63c4df49260648082019392918290030181600087803b15801561372b57600080fd5b505af115801561373f573d6000803e3d6000fd5b505050506040513d604081101561375557600080fd5b508051602090910151600654919350915061377e908690849084906001600160a01b031661430d565b6006546137969086906001600160a01b031684614300565b95945050505050565b6137a7613b21565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156137df57600080fd5b505afa1580156137f3573d6000803e3d6000fd5b50506004546001600160a01b0316331480159250905061381e57506005546001600160a01b03163314155b801561383557506006546001600160a01b03163314155b1561384d57600680546001600160a01b031916331790555b6138556139d1565b6006546040805163227635b160e11b81526001600160a01b038681166004830152928316602482015260448101859052905192909116916344ec6b629160648082019260009290919082900301818387803b15801561332257600080fd5b6007546001600160a01b031681565b6004546001600160a01b031681565b6004546000906001600160a01b031633148015906138fa57506005546001600160a01b03163314155b801561391157506006546001600160a01b03163314155b1561392957600680546001600160a01b031916331790555b613931613ddc565b60065460408051630a1e187d60e01b81526001600160a01b0392831660048201819052602482018990526044820188905260648201879052608482015290519290911691630a1e187d9160a4808201926020929091908290030181600087803b15801561399d57600080fd5b505af11580156139b1573d6000803e3d6000fd5b505050506040513d60208110156139c757600080fd5b5051949350505050565b600b546040805163dacb2d0160e01b81526524b9b9bab2b960d11b60048201526024810182905260166044820152754d697373696e6720497373756572206164647265737360501b6064820152905160009261010090046001600160a01b03169163dacb2d01916084808301926020929190829003018186803b158015612ea057600080fd5b60045460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff97916003908060216147f3823960210190506040518091039020613aaa886141cb565b613ab3886141cb565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360008381101561224357818101518382015260200161222b565b600b546040805163dacb2d0160e01b81526b53797374656d53746174757360a01b600482015260248101829052601c60448201527f4d697373696e672053797374656d5374617475732061646472657373000000006064820152905160009261010090046001600160a01b03169163dacb2d01916084808301926020929190829003018186803b158015612ea057600080fd5b600b546040805163dacb2d0160e01b8152722932bbb0b93239a234b9ba3934b13aba34b7b760691b600482019081526024820192835260236044830181905260009461010090046001600160a01b03169363dacb2d01939091606490910190614814823960400191505060206040518083038186803b158015612ea057600080fd5b600b546040805163dacb2d0160e01b81526d537570706c795363686564756c6560901b600482015260248101829052601e60448201527f4d697373696e6720537570706c795363686564756c65206164647265737300006064820152905160009261010090046001600160a01b03169163dacb2d01916084808301926020929190829003018186803b158015612ea057600080fd5b600082821115613d22576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015613d82576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60045460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff97916003908060216148b6823960210190506040518091039020613aaa886141cb565b600b546040805163dacb2d0160e01b81526822bc31b430b733b2b960b91b600482015260248101829052601960448201527f4d697373696e672045786368616e6765722061646472657373000000000000006064820152905160009261010090046001600160a01b03169163dacb2d01916084808301926020929190829003018186803b158015612ea057600080fd5b600080613e77614455565b60408051631167f01160e31b81526001600160a01b0387811660048301528251931692638b3f808892602480840193919291829003018186803b158015613ebd57600080fd5b505afa158015613ed1573d6000803e3d6000fd5b505050506040513d6040811015613ee757600080fd5b505190508015610e9a57600080613efc6139d1565b600754604080516370a0823160e01b81526001600160a01b038a8116600483015291519382169363fc74f466938b9316916370a08231916024808301926020929190829003018186803b158015613f5257600080fd5b505afa158015613f66573d6000803e3d6000fd5b505050506040513d6020811015613f7c57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091528051604480840193829003018186803b158015613fc757600080fd5b505afa158015613fdb573d6000803e3d6000fd5b505050506040513d6040811015613ff157600080fd5b50805160209091015190925090508185111561403e5760405162461bcd60e51b815260040180806020018281038252602681526020018061485e6026913960400191505060405180910390fd5b8015614091576040805162461bcd60e51b815260206004820152601c60248201527f412073796e7468206f72204f4b532072617465206973207374616c6500000000604482015290519081900360640190fd5b50600195945050505050565b60075460408051636eb1769f60e11b81526001600160a01b03868116600483015287811660248301529151600093929092169163da46098c9187918991614140918891879163dd62ed3e91604480820192602092909190829003018186803b15801561410857600080fd5b505afa15801561411c573d6000803e3d6000fd5b505050506040513d602081101561413257600080fd5b50519063ffffffff613ccb16565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156141a857600080fd5b505af11580156141bc573d6000803e3d6000fd5b505050506137968484846144e6565b6001600160a01b031690565b60048054604080516001600160a01b038581166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c0988601988952865160c48701528651949097169763907dff979791959294919384938493839260e4909201918a0190808383885b838110156142af578181015183820152602001614297565b50505050905090810190601f1680156142dc5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561195a57600080fd5b60006118468484846144e6565b60045460408051602081018690528082018590526001600160a01b03848116606080840191909152835180840390910181526080909201928390529092169163907dff9791600290806032614884823960320190506040518091039020614373896141cb565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156143e65781810151838201526020016143ce565b50505050905090810190601f1680156144135780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561443757600080fd5b505af115801561444b573d6000803e3d6000fd5b5050505050505050565b600b546040805163dacb2d0160e01b8152694f696b6f73537461746560b01b600482015260248101829052601a60448201527f4d697373696e67204f696b6f73537461746520616464726573730000000000006064820152905160009261010090046001600160a01b03169163dacb2d01916084808301926020929190829003018186803b158015612ea057600080fd5b60006001600160a01b0383161580159061450957506001600160a01b0383163014155b801561452357506004546001600160a01b03848116911614155b614574576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600754604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f69187916145d291879186916370a0823191602480820192602092909190829003018186803b15801561410857600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561462157600080fd5b505af1158015614635573d6000803e3d6000fd5b5050600754604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f69250869161469791879186916370a0823191602480820192602092909190829003018186803b15801561123257600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156146e657600080fd5b505af11580156146fa573d6000803e3d6000fd5b50505050610e9a848484613d89565b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e67655265636c61696d28616464726573732c627974657333322c75696e743235362953796e746845786368616e676528616464726573732c627974657333322c75696e743235362c627974657333322c75696e743235362c61646472657373294f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e74323536294d697373696e672052657761726473446973747269627574696f6e206164647265737345786368616e676552656261746528616464726573732c627974657333322c75696e743235362943616e6e6f74207472616e73666572207374616b6564206f7220657363726f776564204f4b534163636f756e744c69717569646174656428616464726573732c75696e743235362c75696e743235362c61646472657373295472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a723158204f03ffe6bd88ef7d05d1fcf9493393a94cee5f71a2f258173cb62f652913b1d164736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "oksRedeemed",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "AccountLiquidated",
					"type": "event",
					"signature": "0xaadb11d74982254be0fa96d24a08db29d68f446bc96b3092a9c9120b5c89caf2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeRebate",
					"type": "event",
					"signature": "0x93751433c6897553c8950f14ccc193ccffb8f539f7421ffde9af83b9b7dae1a8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeReclaim",
					"type": "event",
					"signature": "0x491df6adf9cabe8ca514806effd6b6b6475572dc88fe4b8b58d0a20ecf45e105"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "SynthExchange",
					"type": "event",
					"signature": "0x65b6972c94204d84cffd3a95615743e31270f04fdf251f3dccc705cfbad44776"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_NAME",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18821400"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_SYMBOL",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2a905318"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anySynthOrOKSRateIsStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateStale",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xad746d81"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableSynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbf63340"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "availableSynths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x835e119c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x295da87d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc2bf3880"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "burnSynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9741fb22"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						}
					],
					"name": "burnSynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2c955fa7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeRebate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f01a986"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeReclaim",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xace88afd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "emitSynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6c00f310"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee52a2f3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc836fa0a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isWaitingPeriod",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1fce304d"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "issueMaxSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaf086c7e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						}
					],
					"name": "issueMaxSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x320223db"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8a290014"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe8e09b8b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "susdAmount",
							"type": "uint256"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe6203ed1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "maxIssuableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05b3c1c9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "mint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1249c58b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "oUSD",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5802a172"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "remainingIssuableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1137aedf"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settle",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntriesSettled",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x987757dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "synths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x32608039"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "synthAddress",
							"type": "address"
						}
					],
					"name": "synthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x16b2213f"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x83d625d4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedSynthsExcludeEtherCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd60888e4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferableOikos",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb4fb3a81"
				}
			]
		},
		"Exchanger": {
			"bytecode": "6101606040526b53797374656d53746174757360a01b60809081526c45786368616e6765537461746560981b60a0526c45786368616e6765526174657360981b60c052644f696b6f7360d81b60e05266119959541bdbdb60ca1b610100527044656c6567617465417070726f76616c7360781b610120526524b9b9bab2b960d11b6101405262000094906006906007620002a3565b50348015620000a257600080fd5b5060405162002bcf38038062002bcf83398181016040526040811015620000c857600080fd5b50805160209091015160408051610300810191829052829160069060189082845b815481526020019060010190808311620000e957508793505050506001600160a01b03811662000160576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b03166200020b576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620002735760008282601881106200022757fe5b602002015114620002645760048282601881106200024157fe5b60209081029190910151825460018101845560009384529190922001556200026a565b62000273565b6001016200020e565b5050600280546001600160a01b0319166001600160a01b0392909216919091179055505061016860055562000306565b8260188101928215620002d4579160200282015b82811115620002d4578251825591602001919060010190620002b7565b50620002e2929150620002e6565b5090565b6200030391905b80821115620002e25760008155600101620002ed565b90565b6128b980620003166000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063631e1444116100b85780638da5cb5b1161007c5780638da5cb5b146103b0578063ab49848c146103b8578063c6c9d828146103f9578063d6f32e0614610416578063e3235c9114610442578063f450aa341461044a57610137565b8063631e144414610307578063635a3872146103415780636a1c47581461035e57806379ba5097146103a057806389257117146103a857610137565b80631a5c6095116100ff5780631a5c6095146102525780631b16802c146102755780633be99e6f146102a15780634c268fc8146102c757806353a47bb7146102ff57610137565b806304f3bcec1461013c578063059c29ec146101605780630a1e187d1461019e5780631627540c146101e057806319d5c66514610208575b600080fd5b610144610473565b604080516001600160a01b039092168252519081900360200190f35b61018c6004803603604081101561017657600080fd5b506001600160a01b038135169060200135610482565b60408051918252519081900360200190f35b61018c600480360360a08110156101b457600080fd5b506001600160a01b03813581169160208101359160408201359160608101359160809091013516610526565b610206600480360360208110156101f657600080fd5b50356001600160a01b0316610611565b005b6102346004803603604081101561021e57600080fd5b506001600160a01b0381351690602001356106ae565b60408051938452602084019290925282820152519081900360600190f35b61018c6004803603604081101561026857600080fd5b5080359060200135610949565b6102346004803603604081101561028b57600080fd5b506001600160a01b038135169060200135610955565b610206600480360360208110156102b757600080fd5b50356001600160a01b0316610a2e565b61018c600480360360808110156102dd57600080fd5b506001600160a01b038135169060208101359060408101359060600135610b9c565b610144610cbc565b61032d6004803603602081101561031d57600080fd5b50356001600160a01b0316610ccb565b604080519115158252519081900360200190f35b6102066004803603602081101561035757600080fd5b5035610de8565b61018c600480360360a081101561037457600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135610e36565b610206610fee565b61018c6110aa565b6101446110b0565b6103c06110bf565b604051808261030080838360005b838110156103e65781810151838201526020016103ce565b5050505090500191505060405180910390f35b61018c6004803603602081101561040f57600080fd5b5035611109565b61032d6004803603604081101561042c57600080fd5b506001600160a01b038135169060200135611127565b61018c611158565b6102346004803603606081101561046057600080fd5b508035906020810135906040013561115d565b6002546001600160a01b031681565b600061051d61048f61117c565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156104ec57600080fd5b505afa158015610500573d6000803e3d6000fd5b505050506040513d602081101561051657600080fd5b505161123c565b90505b92915050565b600080610531611290565b9050336001600160a01b03821614806105be5750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b15801561058f57600080fd5b505afa1580156105a3573d6000803e3d6000fd5b505050506040513d60208110156105b957600080fd5b505114155b6105f95760405162461bcd60e51b81526004018080602001828103825260418152602001806128216041913960600191505060405180910390fd5b610606878787878761130f565b979650505050505050565b6000546001600160a01b0316331461065a5760405162461bcd60e51b815260040180806020018281038252602f8152602001806127d1602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008060006106bb61117c565b6001600160a01b031663b44e975386866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561071857600080fd5b505afa15801561072c573d6000803e3d6000fd5b505050506040513d602081101561074257600080fd5b5051905060005b8181101561094157600080600080600061076161117c565b6001600160a01b03166315987eb68c8c896040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b1580156107c757600080fd5b505afa1580156107db573d6000803e3d6000fd5b505050506040513d6101008110156107f257600080fd5b508051602082015160408301516060840151608090940151929850909650945090925090506000806108258d8d8a6117cd565b9150915060006108336119cd565b6001600160a01b031663266da16b89898987876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b15801561089657600080fd5b505afa1580156108aa573d6000803e3d6000fd5b505050506040513d60208110156108c057600080fd5b5051905060006108d08286611a5c565b905080861115610901576108fa6108ed878363ffffffff611aee16565b8e9063ffffffff611b4b16565b9c5061092c565b8581111561092c5761092961091c828863ffffffff611aee16565b8d9063ffffffff611b4b16565b9b505b50506001909701965061074995505050505050565b509250925092565b600061051d8383611ba5565b600080600083610963611c25565b6001600160a01b0316637118d4316040518163ffffffff1660e01b815260040160006040518083038186803b15801561099b57600080fd5b505afa1580156109af573d6000803e3d6000fd5b505050506109bb611c25565b6001600160a01b03166342a28e21826040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b1580156109fe57600080fd5b505afa158015610a12573d6000803e3d6000fd5b50505050610a208686611cb3565b935093509350509250925092565b6000546001600160a01b03163314610a775760405162461bcd60e51b815260040180806020018281038252602f8152602001806127d1602f913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b03831617905560005b600454811015610b9857600060048281548110610aae57fe5b600091825260209182902001546002546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b158015610b3857600080fd5b505afa158015610b4c573d6000803e3d6000fd5b505050506040513d6020811015610b6257600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610a95565b5050565b816000610ba7611dee565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610bea57600080fd5b505afa158015610bfe573d6000803e3d6000fd5b505050506040513d6020811015610c1457600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610c6057600080fd5b505afa158015610c74573d6000803e3d6000fd5b505050506040513d6020811015610c8a57600080fd5b5051905080821115610c9a578091505b8215610cb357610cb0828463ffffffff611b4b16565b91505b50949350505050565b6001546001600160a01b031681565b6002546000906001600160a01b03838116911614610ceb57506000610de3565b60005b600454811015610ddd57600060048281548110610d0757fe5b6000918252602080832090910154808352600382526040928390205460025484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b158015610d6d57600080fd5b505afa158015610d81573d6000803e3d6000fd5b505050506040513d6020811015610d9757600080fd5b50516001600160a01b0316141580610dc457506000818152600360205260409020546001600160a01b0316155b15610dd457600092505050610de3565b50600101610cee565b50600190505b919050565b6000546001600160a01b03163314610e315760405162461bcd60e51b815260040180806020018281038252602f8152602001806127d1602f913960400191505060405180910390fd5b600555565b600080610e41611290565b9050336001600160a01b0382161480610ece5750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610e9f57600080fd5b505afa158015610eb3573d6000803e3d6000fd5b505050506040513d6020811015610ec957600080fd5b505114155b610f095760405162461bcd60e51b81526004018080602001828103825260418152602001806128216041913960600191505060405180910390fd5b610f11611e6f565b6040805163faf431bb60e01b81526001600160a01b038a8116600483015289811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b158015610f6457600080fd5b505afa158015610f78573d6000803e3d6000fd5b505050506040513d6020811015610f8e57600080fd5b5051610fe1576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b610606878686868b61130f565b6001546001600160a01b031633146110375760405162461bcd60e51b815260040180806020018281038252603581526020018061277b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60055481565b6000546001600160a01b031681565b6110c761275b565b60005b60045481101561110557600481815481106110e157fe5b90600052602060002001548282601881106110f857fe5b60200201526001016110ca565b5090565b6004818154811061111657fe5b600091825260209091200154905081565b60006111338383610482565b1561114057506001610520565b600061114c84846106ae565b50501515949350505050565b601881565b600080600061116d868686611eea565b91989097509095509350505050565b6002546040805163dacb2d0160e01b81526c45786368616e6765537461746560981b600482015260248101829052601d60448201527f4d697373696e672045786368616e676553746174652061646472657373000000606482015290516000926001600160a01b03169163dacb2d01916084808301926020929190829003018186803b15801561120b57600080fd5b505afa15801561121f573d6000803e3d6000fd5b505050506040513d602081101561123557600080fd5b5051905090565b600081158061125e575060055461125a90839063ffffffff611b4b16565b4210155b1561126b57506000610de3565b6105204261128460055485611b4b90919063ffffffff16565b9063ffffffff611aee16565b6002546040805163dacb2d0160e01b8152644f696b6f7360d81b60048201526024810182905260156044820152744d697373696e67204f696b6f73206164647265737360581b606482015290516000926001600160a01b03169163dacb2d01916084808301926020929190829003018186803b15801561120b57600080fd5b60008285141561135c576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b6000841161139f576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b604080516002808252606080830184529260208301908038833901905050905085816000815181106113cd57fe5b60200260200101818152505083816001815181106113e757fe5b6020026020010181815250506113fb6119cd565b6001600160a01b0316632d227674826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611459578181015183820152602001611441565b505050509050019250505060206040518083038186803b15801561147c57600080fd5b505afa158015611490573d6000803e3d6000fd5b505050506040513d60208110156114a657600080fd5b5051156114fa576040805162461bcd60e51b815260206004820181905260248201527f5372632f646573742072617465207374616c65206f72206e6f7420666f756e64604482015290519081900360640190fd5b6000806115078989611cb3565b90935091508790508115611535576115218a8a8a86610b9c565b9050806115355760009450505050506117c4565b61153d611dee565b6001600160a01b031663326080398a6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561158057600080fd5b505afa158015611594573d6000803e3d6000fd5b505050506040513d60208110156115aa57600080fd5b505160408051632770a7eb60e21b81526001600160a01b038d811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b1580156115fe57600080fd5b505af1158015611612573d6000803e3d6000fd5b50505050600080611624838c8b611eea565b91985092509050611633611dee565b6001600160a01b031663326080398a6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561167657600080fd5b505afa15801561168a573d6000803e3d6000fd5b505050506040513d60208110156116a057600080fd5b50516040805163219e412d60e21b81526001600160a01b038b81166004830152602482018b90529151919092169163867904b491604480830192600092919082900301818387803b1580156116f457600080fd5b505af1158015611708573d6000803e3d6000fd5b50505050600082111561171f5761171f828a611fad565b611727611290565b604080516306c00f3160e41b81526001600160a01b038f81166004830152602482018f905260448201879052606482018d9052608482018b90528b811660a483015291519290911691636c00f3109160c48082019260009290919082900301818387803b15801561179757600080fd5b505af11580156117ab573d6000803e3d6000fd5b505050506117bd888c858c8b86612206565b5050505050505b95945050505050565b60008060008060008060006117e061117c565b6001600160a01b03166315987eb68b8b8b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b15801561184657600080fd5b505afa15801561185a573d6000803e3d6000fd5b505050506040513d61010081101561187157600080fd5b508051604082015160a083015160c084015160e0909401519298509096509450909250905060006118a06119cd565b9050806001600160a01b031663109e46a28785876005546040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801561190057600080fd5b505afa158015611914573d6000803e3d6000fd5b505050506040513d602081101561192a57600080fd5b50516005546040805163084f235160e11b81526004810189905260248101869052604481018890526064810192909252519199506001600160a01b0383169163109e46a291608480820192602092909190829003018186803b15801561198f57600080fd5b505afa1580156119a3573d6000803e3d6000fd5b505050506040513d60208110156119b957600080fd5b5051979b979a509698505050505050505050565b6002546040805163dacb2d0160e01b81526c45786368616e6765526174657360981b600482015260248101829052601d60448201527f4d697373696e672045786368616e676552617465732061646472657373000000606482015290516000926001600160a01b03169163dacb2d01916084808301926020929190829003018186803b15801561120b57600080fd5b600061051d611ae18373__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611aa957600080fd5b505af4158015611abd573d6000803e3d6000fd5b505050506040513d6020811015611ad357600080fd5b50519063ffffffff611aee16565b849063ffffffff6123af16565b600082821115611b45576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561051d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611baf6123d9565b6001600160a01b03166380803fff836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611bf257600080fd5b505afa158015611c06573d6000803e3d6000fd5b505050506040513d6020811015611c1c57600080fd5b50519392505050565b6002546040805163dacb2d0160e01b81526b53797374656d53746174757360a01b600482015260248101829052601c60448201527f4d697373696e672053797374656d537461747573206164647265737300000000606482015290516000926001600160a01b03169163dacb2d01916084808301926020929190829003018186803b15801561120b57600080fd5b6000806000611cc28585610482565b15611cfe5760405162461bcd60e51b81526004018080602001828103825260238152602001806128626023913960400191505060405180910390fd5b6000806000611d0d88886106ae565b92509250925081831115611d3d57611d2b838363ffffffff611aee16565b9550611d38888888612462565b611d62565b82821115611d6257611d55828463ffffffff611aee16565b9450611d628888876125b2565b809350611d6d61117c565b6001600160a01b031663d0d3d62a89896040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611dcc57600080fd5b505af1158015611de0573d6000803e3d6000fd5b505050505050509250925092565b6002546040805163dacb2d0160e01b81526524b9b9bab2b960d11b60048201526024810182905260166044820152754d697373696e6720497373756572206164647265737360501b606482015290516000926001600160a01b03169163dacb2d01916084808301926020929190829003018186803b15801561120b57600080fd5b6002546040805163dacb2d0160e01b81527044656c6567617465417070726f76616c7360781b60048201908152602482019283526021604483018190526000946001600160a01b03169363dacb2d019390916064909101906127b0823960400191505060206040518083038186803b15801561120b57600080fd5b600080600080611ef86119cd565b6001600160a01b031663654a60ac8789886040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015611f4b57600080fd5b505afa158015611f5f573d6000803e3d6000fd5b505050506040513d6020811015611f7557600080fd5b50519050611f838686611ba5565b9150611f8f8183611a5c565b9350611fa1818563ffffffff611aee16565b92505093509350939050565b6000611fb76119cd565b6001600160a01b031663654a60ac8385631bd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561201157600080fd5b505afa158015612025573d6000803e3d6000fd5b505050506040513d602081101561203b57600080fd5b50519050612047611dee565b6001600160a01b03166332608039631bd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561209157600080fd5b505afa1580156120a5573d6000803e3d6000fd5b505050506040513d60208110156120bb57600080fd5b50516001600160a01b031663867904b46120d36123d9565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561210b57600080fd5b505afa15801561211f573d6000803e3d6000fd5b505050506040513d602081101561213557600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820185905251604480830192600092919082900301818387803b15801561218457600080fd5b505af1158015612198573d6000803e3d6000fd5b505050506121a46123d9565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156121e957600080fd5b505af11580156121fd573d6000803e3d6000fd5b50505050505050565b60006122106119cd565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561225857600080fd5b505afa15801561226c573d6000803e3d6000fd5b505050506040513d602081101561228257600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b1580156122d157600080fd5b505afa1580156122e5573d6000803e3d6000fd5b505050506040513d60208110156122fb57600080fd5b5051905061230761117c565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b15801561238c57600080fd5b505af11580156123a0573d6000803e3d6000fd5b50505050505050505050505050565b6000670de0b6b3a76400006123ca848463ffffffff61270216565b816123d157fe5b049392505050565b6002546040805163dacb2d0160e01b815266119959541bdbdb60ca1b600482015260248101829052601760448201527f4d697373696e6720466565506f6f6c2061646472657373000000000000000000606482015290516000926001600160a01b03169163dacb2d01916084808301926020929190829003018186803b15801561120b57600080fd5b61246a611dee565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156124ad57600080fd5b505afa1580156124c1573d6000803e3d6000fd5b505050506040513d60208110156124d757600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b15801561252b57600080fd5b505af115801561253f573d6000803e3d6000fd5b5050505061254b611290565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156121e957600080fd5b6125ba611dee565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156125fd57600080fd5b505afa158015612611573d6000803e3d6000fd5b505050506040513d602081101561262757600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b15801561267b57600080fd5b505af115801561268f573d6000803e3d6000fd5b5050505061269b611290565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156121e957600080fd5b60008261271157506000610520565b8282028284828161271e57fe5b041461051d5760405162461bcd60e51b81526004018080602001828103825260218152602001806128006021913960400191505060405180910390fd5b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704d697373696e672044656c6567617465417070726f76616c7320616464726573734f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745786368616e6765723a204f6e6c79206f696b6f73206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a72315820413bf06a74d24b79795142923b795b84a7c93e21b9d666397acbc5159a92c88264736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						}
					],
					"name": "calculateAmountAfterSettlement",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountAfterSettlement",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c268fc8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a1e187d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6a1c4758"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "feeRateForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1a5c6095"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "getAmountsForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf450aa34"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "hasWaitingPeriodOrSettlementOwing",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd6f32e06"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "maxSecsLeftInWaitingPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x059c29ec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "setWaitingPeriodSecs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x635a3872"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settle",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntriesSettled",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1b16802c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settlementOwing",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rebateAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntries",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19d5c665"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			]
		},
		"ExchangeState": {
			"bytecode": "6080604052600c60045534801561001557600080fd5b50604051610c3d380380610c3d8339818101604052604081101561003857600080fd5b50805160209091015180826001600160a01b03811661009e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610148576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050610a92806101ab6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806379ba50971161008c578063b44e975311610066578063b44e975314610290578063cd8b94dc146102bc578063d0d3d62a146102d9578063f1406dc814610305576100ea565b806379ba5097146102785780638da5cb5b14610280578063aefc4ccb14610288576100ea565b80633ca9d85c116100c85780633ca9d85c146101a457806352f445ca146101fc57806353a47bb7146102225780636e13fe7614610246576100ea565b80630d40d0cf146100ef57806315987eb6146101095780631627540c1461017c575b600080fd5b6100f7610331565b60408051918252519081900360200190f35b61013b6004803603606081101561011f57600080fd5b506001600160a01b038135169060208101359060400135610337565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b6101a26004803603602081101561019257600080fd5b50356001600160a01b03166103dc565b005b6101a260048036036101208110156101bb57600080fd5b506001600160a01b038135169060208101359060408101359060608101359060808101359060a08101359060c08101359060e0810135906101000135610479565b6101a26004803603602081101561021257600080fd5b50356001600160a01b03166105eb565b61022a610688565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603606081101561025c57600080fd5b506001600160a01b038135169060208101359060400135610697565b6101a2610701565b61022a6107bd565b61022a6107cc565b6100f7600480360360408110156102a657600080fd5b506001600160a01b0381351690602001356107db565b6101a2600480360360208110156102d257600080fd5b5035610803565b6101a2600480360360408110156102ef57600080fd5b506001600160a01b038135169060200135610851565b6100f76004803603604081101561031b57600080fd5b506001600160a01b0381351690602001356108ca565b60045481565b6000806000806000806000806000600360008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008c81526020019081526020016000208a8154811061038657fe5b906000526020600020906008020190508060000154816001015482600201548360030154846004015485600501548660060154876007015498509850985098509850985098509850509397509397509397509397565b6000546001600160a01b031633146104255760405162461bcd60e51b815260040180806020018281038252602f8152602001806109fb602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146104c25760405162461bcd60e51b8152600401808060200182810382526034815260200180610a2a6034913960400191505060405180910390fd5b6004546001600160a01b038a1660009081526003602090815260408083208a84529091529020541061053b576040805162461bcd60e51b815260206004820152601860248201527f4d6178207175657565206c656e67746820726561636865640000000000000000604482015290519081900360640190fd5b6001600160a01b03909816600090815260036020818152604080842089855282528084208151610100810183529b8c528b83019a8b52908b0198895260608b0197885260808b0196875260a08b0195865260c08b0194855260e08b019b8c5280546001818101835591855291909320995160089091029099019889559651908801559351600287015591519385019390935591516004840155905160058301555160068201559051600790910155565b6000546001600160a01b031633146106345760405162461bcd60e51b815260040180806020018281038252602f8152602001806109fb602f913960400191505060405180910390fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b600360205282600052604060002060205281600052604060002081815481106106bc57fe5b60009182526020909120600890910201805460018201546002830154600384015460048501546005860154600687015460079097015495995093975091955093909288565b6001546001600160a01b0316331461074a5760405162461bcd60e51b81526004018080602001828103825260358152602001806109c66035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b03919091166000908152600360209081526040808320938352929052205490565b6000546001600160a01b0316331461084c5760405162461bcd60e51b815260040180806020018281038252602f8152602001806109fb602f913960400191505060405180910390fd5b600455565b6002546001600160a01b0316331461089a5760405162461bcd60e51b8152600401808060200182810382526034815260200180610a2a6034913960400191505060405180910390fd5b6001600160a01b038216600090815260036020908152604080832084845290915281206108c691610950565b5050565b6001600160a01b0382166000908152600360209081526040808320848452909152812081805b8254811015610947578183828154811061090657fe5b906000526020600020906008020160050154111561093f5782818154811061092a57fe5b90600052602060002090600802016005015491505b6001016108f0565b50949350505050565b50805460008255600802906000526020600020908101906109719190610974565b50565b6109c291905b808211156109be576000808255600182018190556002820181905560038201819055600482018190556005820181905560068201819055600782015560080161097a565b5090565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582074cecfb627ebd1312557030a340c1b502b76e284380a4cfb783d18bb77cda38664736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "appendExchangeEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3ca9d85c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "exchanges",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6e13fe76"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getEntryAt",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15987eb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getLengthOfEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb44e9753"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getMaxTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1406dc8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxEntriesInQueue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0d40d0cf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0d3d62a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxEntriesInQueue",
							"type": "uint256"
						}
					],
					"name": "setMaxEntriesInQueue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcd8b94dc"
				}
			]
		},
		"Issuer": {
			"bytecode": "62015180600555610200604052644f696b6f7360d81b60809081526822bc31b430b733b2b960b91b60a0526c45786368616e6765526174657360981b60c052694f696b6f73537461746560b01b60e05266119959541bdbdb60ca1b610100527044656c6567617465417070726f76616c7360781b610120527f49737375616e6365457465726e616c53746f7261676500000000000000000000610140526c10939090dbdb1b185d195c985b609a1b610160526b526577617264457363726f7760a01b610180526a4f696b6f73457363726f7760a81b6101a0526b4c69717569646174696f6e7360a01b6101c0526524b9b9bab2b960d11b6101e0526200010a90600990600c62000314565b503480156200011857600080fd5b5060405162004bd938038062004bd9833981810160405260408110156200013e57600080fd5b50805160209091015160408051610300810191829052829160099060189082845b8154815260200190600101908083116200015f57508793505050506001600160a01b038116620001d6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000281576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620002e95760008282601881106200029d57fe5b602002015114620002da576004828260188110620002b757fe5b6020908102919091015182546001810184556000938452919092200155620002e0565b620002e9565b60010162000284565b5050600280546001600160a01b0319166001600160a01b039290921691909117905550620003779050565b826018810192821562000345579160200282015b828111156200034557825182559160200191906001019062000328565b506200035392915062000357565b5090565b6200037491905b808211156200035357600081556001016200035e565b90565b61485280620003876000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c8063849cf58811610146578063b06e8c65116100c3578063dbf6334011610087578063dbf63340146107a0578063dd3d2b2e146107a8578063e3235c91146107ce578063e9422046146107d6578063fc74f466146107f3578063fd864ccf1461081f57610253565b8063b06e8c65146106df578063bff4fdfc1461070b578063c6c9d82814610731578063c89771321461074e578063d37c4d8b1461077457610253565b8063a5fdc5de1161010a578063a5fdc5de146105e2578063a63c4df414610608578063a6eb4f9514610657578063ab49848c14610696578063ad746d81146106d757610253565b8063849cf588146105505780638ce2f55b146105765780638da5cb5b1461057e5780639a5154b414610586578063a311c7c2146105bc57610253565b806332608039116101d4578063631e144411610198578063631e14441461047457806372cb051f146104ae57806379ba5097146105065780637b1001b71461050e578063835e119c1461053357610253565b806332608039146103cd5780633be99e6f146103ea57806344ec6b6214610410578063497d704a1461044657806353a47bb71461046c57610253565b8063129e05e61161021b578063129e05e6146103435780631627540c1461034b57806316b2213f14610371578063242df9e1146103975780632b3f41aa1461039f57610253565b8063042e06881461025857806304f3bcec1461028657806305b3c1c9146102aa5780630b887dae146102e25780631137aedf146102ff575b600080fd5b6102846004803603604081101561026e57600080fd5b506001600160a01b03813516906020013561084d565b005b61028e610958565b604080516001600160a01b039092168252519081900360200190f35b6102d0600480360360208110156102c057600080fd5b50356001600160a01b0316610967565b60408051918252519081900360200190f35b610284600480360360208110156102f857600080fd5b503561097a565b6103256004803603602081101561031557600080fd5b50356001600160a01b0316610cb3565b60408051938452602084019290925282820152519081900360600190f35b6102d0610ccf565b6102846004803603602081101561036157600080fd5b50356001600160a01b0316610ce6565b6102d06004803603602081101561038757600080fd5b50356001600160a01b0316610d83565b6102d0610d95565b610284600480360360408110156103b557600080fd5b506001600160a01b0381358116916020013516610d9b565b61028e600480360360208110156103e357600080fd5b5035610ec5565b6102846004803603602081101561040057600080fd5b50356001600160a01b0316610ee0565b6102846004803603606081101561042657600080fd5b506001600160a01b0381358116916020810135909116906040013561104a565b6102846004803603602081101561045c57600080fd5b50356001600160a01b031661121c565b61028e61127f565b61049a6004803603602081101561048a57600080fd5b50356001600160a01b031661128e565b604080519115158252519081900360200190f35b6104b66113a9565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104f25781810151838201526020016104da565b505050509050019250505060405180910390f35b6102846113bb565b6102d06004803603604081101561052457600080fd5b50803590602001351515611477565b61028e6004803603602081101561054957600080fd5b503561148b565b6102846004803603602081101561056657600080fd5b50356001600160a01b03166114b2565b6102d06116e0565b61028e6116e7565b6102846004803603606081101561059c57600080fd5b506001600160a01b038135811691602081013590911690604001356116f6565b6102d0600480360360208110156105d257600080fd5b50356001600160a01b0316611822565b6102d0600480360360208110156105f857600080fd5b50356001600160a01b0316611834565b61063e6004803603606081101561061e57600080fd5b506001600160a01b0381358116916020810135916040909101351661183f565b6040805192835260208301919091528051918290030190f35b61067d6004803603602081101561066d57600080fd5b50356001600160a01b0316611ffb565b6040805192835290151560208301528051918290030190f35b61069e612011565b604051808261030080838360005b838110156106c45781810151838201526020016106ac565b5050505090500191505060405180910390f35b61049a61205b565b610284600480360360408110156106f557600080fd5b506001600160a01b0381351690602001356121c9565b61049a6004803603602081101561072157600080fd5b50356001600160a01b031661222a565b6102d06004803603602081101561074757600080fd5b5035612235565b6102846004803603602081101561076457600080fd5b50356001600160a01b0316612253565b6102d06004803603604081101561078a57600080fd5b506001600160a01b038135169060200135612315565b6102d06123c1565b6102d0600480360360208110156107be57600080fd5b50356001600160a01b03166123c7565b6102d06123d2565b610284600480360360208110156107ec57600080fd5b50356123d7565b61067d6004803603604081101561080957600080fd5b506001600160a01b0381351690602001356124b3565b6102846004803603604081101561083557600080fd5b506001600160a01b038135811691602001351661257b565b6108556126fc565b6001600160a01b0316336001600160a01b0316146108a45760405162461bcd60e51b81526004018080602001828103825260378152602001806147e76037913960400191505060405180910390fd5b6000806000806108b38661273d565b935093509350935080156108fc576040805162461bcd60e51b815260206004820152601c6024820152600080516020614731833981519152604482015290519081900360640190fd5b83851115610944576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b61095086868585612790565b505050505050565b6002546001600160a01b031681565b60006109728261283c565b90505b919050565b6000546001600160a01b031633146109c35760405162461bcd60e51b815260040180806020018281038252602f815260200180614771602f913960400191505060405180910390fd5b6000818152600760205260409020546001600160a01b0316610a23576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b6000818152600760209081526040918290205482516318160ddd60e01b815292516001600160a01b03909116926318160ddd926004808301939192829003018186803b158015610a7257600080fd5b505afa158015610a86573d6000803e3d6000fd5b505050506040513d6020811015610a9c57600080fd5b505115610ae6576040805162461bcd60e51b815260206004820152601360248201527253796e746820737570706c792065786973747360681b604482015290519081900360640190fd5b631bd554d160e21b811415610b38576040805162461bcd60e51b8152602060048201526013602482015272086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b604482015290519081900360640190fd5b6000818152600760205260408120546001600160a01b0316905b600654811015610c3657816001600160a01b031660068281548110610b7357fe5b6000918252602090912001546001600160a01b03161415610c2e5760068181548110610b9b57fe5b600091825260209091200180546001600160a01b0319169055600680546000198101908110610bc657fe5b600091825260209091200154600680546001600160a01b039092169183908110610bec57fe5b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556006805490610c2890600019830161465d565b50610c36565b600101610b52565b50600082815260076020818152604080842080546001600160a01b039081168652600884528286208690559487905292825282546001600160a01b03191690925581518581529284169083015280517f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d09281900390910190a15050565b6000806000610cc18461273d565b509196909550909350915050565b6f131054d517d254d4d55157d15591539560821b81565b6000546001600160a01b03163314610d2f5760405162461bcd60e51b815260040180806020018281038252602f815260200180614771602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60086020526000908152604090205481565b60055481565b610da36126fc565b6001600160a01b0316336001600160a01b031614610df25760405162461bcd60e51b81526004018080602001828103825260378152602001806147e76037913960400191505060405180910390fd5b610dfa612960565b60408051633e9f85d160e11b81526001600160a01b038581166004830152848116602483015291519290911691637d3f0ba291604480820192602092909190829003018186803b158015610e4d57600080fd5b505afa158015610e61573d6000803e3d6000fd5b505050506040513d6020811015610e7757600080fd5b5051610eb8576040805162461bcd60e51b815260206004820152601d60248201526000805160206146f0833981519152604482015290519081900360640190fd5b610ec182612998565b5050565b6007602052600090815260409020546001600160a01b031681565b6000546001600160a01b03163314610f295760405162461bcd60e51b815260040180806020018281038252602f815260200180614771602f913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b03831617905560005b600454811015610ec157600060048281548110610f6057fe5b600091825260209182902001546002546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b158015610fea57600080fd5b505afa158015610ffe573d6000803e3d6000fd5b505050506040513d602081101561101457600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610f47565b6110526126fc565b6001600160a01b0316336001600160a01b0316146110a15760405162461bcd60e51b81526004018080602001828103825260378152602001806147e76037913960400191505060405180910390fd5b6110a9612960565b60408051630487261760e01b81526001600160a01b038681166004830152858116602483015291519290911691630487261791604480820192602092909190829003018186803b1580156110fc57600080fd5b505afa158015611110573d6000803e3d6000fd5b505050506040513d602081101561112657600080fd5b5051611167576040805162461bcd60e51b815260206004820152601d60248201526000805160206146f0833981519152604482015290519081900360640190fd5b6000806000806111768761273d565b935093509350935080156111bf576040805162461bcd60e51b815260206004820152601c6024820152600080516020614731833981519152604482015290519081900360640190fd5b83851115611207576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b61121387868585612790565b50505050505050565b6112246126fc565b6001600160a01b0316336001600160a01b0316146112735760405162461bcd60e51b81526004018080602001828103825260378152602001806147e76037913960400191505060405180910390fd5b61127c81612998565b50565b6001546001600160a01b031681565b6002546000906001600160a01b038381169116146112ae57506000610975565b60005b6004548110156113a0576000600482815481106112ca57fe5b6000918252602080832090910154808352600382526040928390205460025484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b15801561133057600080fd5b505afa158015611344573d6000803e3d6000fd5b505050506040513d602081101561135a57600080fd5b50516001600160a01b031614158061138757506000818152600360205260409020546001600160a01b0316155b1561139757600092505050610975565b506001016112b1565b50600192915050565b60606113b56000612a6d565b90505b90565b6001546001600160a01b031633146114045760405162461bcd60e51b81526004018080602001828103825260358152602001806146bb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006114838383612b49565b509392505050565b6006818154811061149857fe5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146114fb5760405162461bcd60e51b815260040180806020018281038252602f815260200180614771602f913960400191505060405180910390fd5b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561153657600080fd5b505afa15801561154a573d6000803e3d6000fd5b505050506040513d602081101561156057600080fd5b50516000818152600760205260409020549091506001600160a01b0316156115c6576040805162461bcd60e51b815260206004820152601460248201527353796e746820616c72656164792065786973747360601b604482015290519081900360640190fd5b6001600160a01b03821660009081526008602052604090205415611631576040805162461bcd60e51b815260206004820152601c60248201527f53796e7468206164647265737320616c72656164792065786973747300000000604482015290519081900360640190fd5b60068054600181019091557ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0384166001600160a01b03199182168117909255600083815260076020908152604080832080549094168517909355838252600881529082902084905581518481529081019290925280517f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c628849281900390910190a15050565b62093a8081565b6000546001600160a01b031681565b6116fe6126fc565b6001600160a01b0316336001600160a01b03161461174d5760405162461bcd60e51b81526004018080602001828103825260378152602001806147e76037913960400191505060405180910390fd5b611755612960565b60408051633e9f85d160e11b81526001600160a01b038681166004830152858116602483015291519290911691637d3f0ba291604480820192602092909190829003018186803b1580156117a857600080fd5b505afa1580156117bc573d6000803e3d6000fd5b505050506040513d60208110156117d257600080fd5b5051611813576040805162461bcd60e51b815260206004820152601d60248201526000805160206146f0833981519152604482015290519081900360640190fd5b61181d8382612f2c565b505050565b600061182d826131a1565b5092915050565b6000610972826131fb565b60008061184a6126fc565b6001600160a01b0316336001600160a01b0316146118995760405162461bcd60e51b81526004018080602001828103825260378152602001806147e76037913960400191505060405180910390fd5b6118a1613360565b6001600160a01b031663d6f32e0684631bd554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561190557600080fd5b505afa158015611919573d6000803e3d6000fd5b505050506040513d602081101561192f57600080fd5b505115611983576040805162461bcd60e51b815260206004820152601860248201527f6f555344206e6565647320746f20626520736574746c65640000000000000000604482015290519081900360640190fd5b600061198d6133ad565b9050806001600160a01b031663c49e80a6876040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156119e557600080fd5b505afa1580156119f9573d6000803e3d6000fd5b505050506040513d6020811015611a0f57600080fd5b5051611a62576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e74206e6f74206f70656e20666f72206c69717569646174696f6e604482015290519081900360640190fd5b631bd554d160e21b6000526007602090815260008051602061475183398151915254604080516370a0823160e01b81526001600160a01b0388811660048301529151899492909316926370a0823192602480840193919291829003018186803b158015611ace57600080fd5b505afa158015611ae2573d6000803e3d6000fd5b505050506040513d6020811015611af857600080fd5b50511015611b3f576040805162461bcd60e51b815260206004820152600f60248201526e139bdd08195b9bdd59da081bd554d1608a1b604482015290519081900360640190fd5b6000816001600160a01b03166323f5589a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611b7a57600080fd5b505afa158015611b8e573d6000803e3d6000fd5b505050506040513d6020811015611ba457600080fd5b505190506000611bb3886131fb565b90506000611bbf6133fd565b6001600160a01b031663654a60ac83631bd554d160e21b6040518363ffffffff1660e01b81526004018080624f4b5360e81b8152506020018381526020018281526020019250505060206040518083038186803b158015611c1f57600080fd5b505afa158015611c33573d6000803e3d6000fd5b505050506040513d6020811015611c4957600080fd5b5051905060008080611c628c631bd554d160e21b61344e565b9250925092508015611ca9576040805162461bcd60e51b815260206004820152601c6024820152600080516020614731833981519152604482015290519081900360640190fd5b6000876001600160a01b0316630ac045d585876040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611cf757600080fd5b505afa158015611d0b573d6000803e3d6000fd5b505050506040513d6020811015611d2157600080fd5b505190508b8110611d32578b611d34565b805b98506000611d406133fd565b6001600160a01b031663654a60ac631bd554d160e21b8c6040518363ffffffff1660e01b81526004018083815260200182815260200180624f4b5360e81b8152506020019250505060206040518083038186803b158015611da057600080fd5b505afa158015611db4573d6000803e3d6000fd5b505050506040513d6020811015611dca57600080fd5b505160408051630241ebdb60e61b81529051919250611e6991611e5c918b9173__$595c53754087f91f9b1379b44678cc419e$__9163907af6c0916004808301926020929190829003018186803b158015611e2457600080fd5b505af4158015611e38573d6000803e3d6000fd5b505050506040513d6020811015611e4e57600080fd5b50519063ffffffff61363816565b829063ffffffff61369216565b9a50868b1115611f6457869a50611e7e6133fd565b6001600160a01b031663654a60ac611ee4611ed78b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611e2457600080fd5b8a9063ffffffff6136bc16565b631bd554d160e21b6040518363ffffffff1660e01b81526004018080624f4b5360e81b8152506020018381526020018281526020019250505060206040518083038186803b158015611f3557600080fd5b505afa158015611f49573d6000803e3d6000fd5b505050506040513d6020811015611f5f57600080fd5b505199505b611f718e8d8c88886136e6565b818a1415611fea57886001600160a01b031663974e9e7f8f6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015611fd157600080fd5b505af1158015611fe5573d6000803e3d6000fd5b505050505b505050505050505050935093915050565b600080612007836131a1565b915091505b915091565b612019614681565b60005b600454811015612057576004818154811061203357fe5b906000526020600020015482826018811061204a57fe5b602002015260010161201c565b5090565b600060606120696001612a6d565b90506120736133fd565b6001600160a01b031663babcb423826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156120d15781810151838201526020016120b9565b505050509050019250505060006040518083038186803b1580156120f457600080fd5b505afa158015612108573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561213157600080fd5b810190808051604051939291908464010000000082111561215157600080fd5b90830190602082018581111561216657600080fd5b825186602082028301116401000000008211171561218357600080fd5b82525081516020918201928201910280838360005b838110156121b0578181015183820152602001612198565b5050505091909101604052506020015195945050505050565b6121d16126fc565b6001600160a01b0316336001600160a01b0316146122205760405162461bcd60e51b81526004018080602001828103825260378152602001806147e76037913960400191505060405180910390fd5b610ec18282612f2c565b600061097282613783565b6004818154811061224257fe5b600091825260209091200154905081565b61225b6126fc565b6001600160a01b0316336001600160a01b0316146122aa5760405162461bcd60e51b81526004018080602001828103825260378152602001806147e76037913960400191505060405180910390fd5b6000806000806122b98561273d565b93509350935093508015612302576040805162461bcd60e51b815260206004820152601c6024820152600080516020614731833981519152604482015290519081900360640190fd5b61230e85858585612790565b5050505050565b6000806123206137a9565b60408051631167f01160e31b81526001600160a01b038781166004830152825193945060009390851692638b3f80889260248082019391829003018186803b15801561236b57600080fd5b505afa15801561237f573d6000803e3d6000fd5b505050506040513d604081101561239557600080fd5b50519050806123a9576000925050506123bb565b6123b3858561344e565b509093505050505b92915050565b60065490565b6000610972826137f7565b601881565b6000546001600160a01b031633146124205760405162461bcd60e51b815260040180806020018281038252602f815260200180614771602f913960400191505060405180910390fd5b62093a80811115612478576040805162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015290519081900360640190fd5b60058190556040805182815290517f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144779181900360200190a150565b60008060006124c885624f4b5360e81b61344e565b93509091506000905061254d6124dc6137a9565b6001600160a01b031663b410a0346040518163ffffffff1660e01b815260040160206040518083038186803b15801561251457600080fd5b505afa158015612528573d6000803e3d6000fd5b505050506040513d602081101561253e57600080fd5b5051839063ffffffff6138cc16565b905084811061255f5760009350612572565b61256f858263ffffffff6138e116565b93505b50509250929050565b6125836126fc565b6001600160a01b0316336001600160a01b0316146125d25760405162461bcd60e51b81526004018080602001828103825260378152602001806147e76037913960400191505060405180910390fd5b6125da612960565b60408051630487261760e01b81526001600160a01b038581166004830152848116602483015291519290911691630487261791604480820192602092909190829003018186803b15801561262d57600080fd5b505afa158015612641573d6000803e3d6000fd5b505050506040513d602081101561265757600080fd5b5051612698576040805162461bcd60e51b815260206004820152601d60248201526000805160206146f0833981519152604482015290519081900360640190fd5b6000806000806126a78661273d565b935093509350935080156126f0576040805162461bcd60e51b815260206004820152601c6024820152600080516020614731833981519152604482015290519081900360640190fd5b61095086858585612790565b60006113b5644f696b6f7360d81b604051806040016040528060158152602001744d697373696e67204f696b6f73206164647265737360581b81525061393e565b60008060008061275485631bd554d160e21b61344e565b919450925090506127648561283c565b93508383106127765760009350612789565b612786848463ffffffff6138e116565b93505b9193509193565b61279c848484846139e0565b6127a584613db6565b631bd554d160e21b60009081526007602052600080516020614751833981519152546040805163219e412d60e21b81526001600160a01b038881166004830152602482018890529151919092169263867904b4926044808201939182900301818387803b15801561281557600080fd5b505af1158015612829573d6000803e3d6000fd5b5050505061283684613e75565b50505050565b6000806128476133fd565b6001600160a01b031663654a60ac61285e856131fb565b631bd554d160e21b6040518363ffffffff1660e01b81526004018080624f4b5360e81b8152506020018381526020018281526020019250505060206040518083038186803b1580156128af57600080fd5b505afa1580156128c3573d6000803e3d6000fd5b505050506040513d60208110156128d957600080fd5b505190506129596128e86137a9565b6001600160a01b031663b410a0346040518163ffffffff1660e01b815260040160206040518083038186803b15801561292057600080fd5b505afa158015612934573d6000803e3d6000fd5b505050506040513d602081101561294a57600080fd5b5051829063ffffffff61369216565b9392505050565b60006113b57044656c6567617465417070726f76616c7360781b6040518060600160405280602181526020016147106021913961393e565b60008060006129ae84631bd554d160e21b61344e565b92509250925080156129f5576040805162461bcd60e51b815260206004820152601c6024820152600080516020614731833981519152604482015290519081900360640190fd5b60008311612a3f576040805162461bcd60e51b81526020600482015260126024820152714e6f206465627420746f20666f726769766560701b604482015290519081900360640190fd5b6000612a4a8561283c565b90506000612a5e858363ffffffff6138e116565b90506109508682878786613f81565b60608082612a7c576000612a7f565b60015b60ff1660068054905001604051908082528060200260200182016040528015612ab2578160200160208202803883390190505b50905060005b600654811015612b19576008600060068381548110612ad357fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548251839083908110612b0657fe5b6020908102919091010152600101612ab8565b508215610972576006548151624f4b5360e81b9183918110612b3757fe5b60200260200101818152505092915050565b60008080806060612b5a6001612a6d565b905060606000612b686133fd565b6001600160a01b031663babcb423846040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612bc6578181015183820152602001612bae565b505050509050019250505060006040518083038186803b158015612be957600080fd5b505afa158015612bfd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015612c2657600080fd5b8101908080516040519392919084640100000000821115612c4657600080fd5b908301906020820185811115612c5b57600080fd5b8251866020820283011164010000000082111715612c7857600080fd5b82525081516020918201928201910280838360005b83811015612ca5578181015183820152602001612c8d565b5050505091909101604052506020015192945091925060009150505b6001845103811015612e61576000848281518110612cdb57fe5b602002602001015190508a811415612d0457838281518110612cf957fe5b602002602001015195505b60008181526007602090815260408083205481516318160ddd60e01b815291516001600160a01b03909116926318160ddd9260048082019391829003018186803b158015612d5157600080fd5b505afa158015612d65573d6000803e3d6000fd5b505050506040513d6020811015612d7b57600080fd5b505190508a8015612d92575081630de8aa8960e31b145b15612e1657612e13612da26140cb565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b158015612dda57600080fd5b505afa158015612dee573d6000803e3d6000fd5b505050506040513d6020811015612e0457600080fd5b5051829063ffffffff6138e116565b90505b6000612e3e868581518110612e2757fe5b60200260200101518361411c90919063ffffffff16565b9050612e50898263ffffffff61363816565b98505060019092019150612cc19050565b5088624f4b5360e81b1415612e8f5781600184510381518110612e8057fe5b60200260200101519350612f0e565b83612f0e57612e9c6133fd565b6001600160a01b031663ac82f6088a6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612edf57600080fd5b505afa158015612ef3573d6000803e3d6000fd5b505050506040513d6020811015612f0957600080fd5b505193505b612f1e858563ffffffff6138cc16565b999098509650505050505050565b612f3582613783565b612f86576040805162461bcd60e51b815260206004820152601e60248201527f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000604482015290519081900360640190fd5b600080612f91613360565b6001600160a01b0316631b16802c85631bd554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015612ff757600080fd5b505af115801561300b573d6000803e3d6000fd5b505050506040513d606081101561302157600080fd5b50602081015160409091015190925090506000808061304787631bd554d160e21b61344e565b925092509250801561308e576040805162461bcd60e51b815260206004820152601c6024820152600080516020614731833981519152604482015290519081900360640190fd5b600083116130d8576040805162461bcd60e51b81526020600482015260126024820152714e6f206465627420746f20666f726769766560701b604482015290519081900360640190fd5b85841561317c576130e7613360565b60408051630984d1f960e31b81526001600160a01b038b81166004830152631bd554d160e21b6024830152604482018b9052606482018a905291519290911691634c268fc891608480820192602092909190829003018186803b15801561314d57600080fd5b505afa158015613161573d6000803e3d6000fd5b505050506040513d602081101561317757600080fd5b505190505b60006131878961283c565b90506131968983878785613f81565b505050505050505050565b60008060006131af846131fb565b90506000806131c486624f4b5360e81b61344e565b925050915082600014156131e05760009450925061200c915050565b6131f0828463ffffffff6138cc16565b945092505050915091565b6000806132066126fc565b6001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561325b57600080fd5b505afa15801561326f573d6000803e3d6000fd5b505050506040513d602081101561328557600080fd5b505190506000613293614131565b6001600160a01b03161461333d5761333a6132ac614131565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561330157600080fd5b505afa158015613315573d6000803e3d6000fd5b505050506040513d602081101561332b57600080fd5b5051829063ffffffff61363816565b90505b6000613347614180565b6001600160a01b031614610972576129596132ac614180565b60006113b56822bc31b430b733b2b960b91b6040518060400160405280601981526020017f4d697373696e672045786368616e67657220616464726573730000000000000081525061393e565b60006113b56b4c69717569646174696f6e7360a01b6040518060400160405280601c81526020017f4d697373696e67204c69717569646174696f6e7320616464726573730000000081525061393e565b60006113b56c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e67655261746573206164647265737300000081525061393e565b60008060008061345c6137a9565b9050600080826001600160a01b0316638b3f8088896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050604080518083038186803b1580156134b657600080fd5b505afa1580156134ca573d6000803e3d6000fd5b505050506040513d60408110156134e057600080fd5b50805160209091015190925090506134f9876001612b49565b909550935081613510575060009450613631915050565b600061360d83613601866001600160a01b03166308d95cd5866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561355d57600080fd5b505afa158015613571573d6000803e3d6000fd5b505050506040513d602081101561358757600080fd5b505160408051632318bb8960e11b815290516001600160a01b038a16916346317712916004808301926020929190829003018186803b1580156135c957600080fd5b505afa1580156135dd573d6000803e3d6000fd5b505050506040513d60208110156135f357600080fd5b50519063ffffffff6141d016565b9063ffffffff6141e916565b9050600061361e8261360189614202565b905061362981614218565b975050505050505b9250925092565b600082820183811015612959576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000670de0b6b3a76400006136ad848463ffffffff61423a16565b816136b457fe5b049392505050565b6000612959826136da85670de0b6b3a764000063ffffffff61423a16565b9063ffffffff61429316565b6136f2858484846142fd565b631bd554d160e21b600090815260076020526000805160206147518339815191525460408051632770a7eb60e21b81526001600160a01b0388811660048301526024820188905291519190921692639dc29fac926044808201939182900301818387803b15801561376257600080fd5b505af1158015613776573d6000803e3d6000fd5b5050505061230e85613e75565b60006137a0600554613794846137f7565b9063ffffffff61363816565b42101592915050565b60006113b5694f696b6f73537461746560b01b6040518060400160405280601a81526020017f4d697373696e67204f696b6f735374617465206164647265737300000000000081525061393e565b6000613801614572565b6001600160a01b031663bdc963d86f131054d517d254d4d55157d15591539560821b8460405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561389a57600080fd5b505afa1580156138ae573d6000803e3d6000fd5b505050506040513d60208110156138c457600080fd5b505192915050565b60006129598383670de0b6b3a76400006145af565b600082821115613938576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828152600360205260408120546001600160a01b031682816114835760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156139a557818101518382015260200161398d565b50505050905090810190601f1680156139d25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006139ea6137a9565b905060006139fe858463ffffffff61363816565b90506000613a12868363ffffffff6141d016565b90506000613a968273__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b158015613a5e57600080fd5b505af4158015613a72573d6000803e3d6000fd5b505050506040513d6020811015613a8857600080fd5b50519063ffffffff6138e116565b90508515613ac157613abe83613ab2898963ffffffff61363816565b9063ffffffff6141d016565b91505b85613b1a57836001600160a01b0316631bfba5956040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613b0157600080fd5b505af1158015613b15573d6000803e3d6000fd5b505050505b836001600160a01b031663a764eb4589846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015613b7a57600080fd5b505af1158015613b8e573d6000803e3d6000fd5b505050506000846001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015613bcd57600080fd5b505afa158015613be1573d6000803e3d6000fd5b505050506040513d6020811015613bf757600080fd5b50511115613cd657836001600160a01b0316633d31e97b613c8383876001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b158015613c4b57600080fd5b505afa158015613c5f573d6000803e3d6000fd5b505050506040513d6020811015613c7557600080fd5b50519063ffffffff6141e916565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613cb957600080fd5b505af1158015613ccd573d6000803e3d6000fd5b50505050613dac565b836001600160a01b0316633d31e97b73__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b158015613d2957600080fd5b505af4158015613d3d573d6000803e3d6000fd5b505050506040513d6020811015613d5357600080fd5b5051604080516001600160e01b031960e085901b168152600481019290925251602480830192600092919082900301818387803b158015613d9357600080fd5b505af1158015613da7573d6000803e3d6000fd5b505050505b5050505050505050565b613dbe614572565b6001600160a01b0316633562fd206f131054d517d254d4d55157d15591539560821b8360405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120426040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015613e6157600080fd5b505af115801561230e573d6000803e3d6000fd5b600080613e806137a9565b60408051631167f01160e31b81526001600160a01b0386811660048301528251931692638b3f808892602480840193919291829003018186803b158015613ec657600080fd5b505afa158015613eda573d6000803e3d6000fd5b505050506040513d6040811015613ef057600080fd5b5080516020909101519092509050613f066145e7565b6001600160a01b031663866452748484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015613f6d57600080fd5b505af1158015611213573d6000803e3d6000fd5b6000848410613f905784613f92565b835b9050613fa0868286866142fd565b631bd554d160e21b600090815260076020526000805160206147518339815191525460408051632770a7eb60e21b81526001600160a01b038a8116600483015260248201869052915185949290931692639dc29fac9260448084019391929182900301818387803b15801561401457600080fd5b505af1158015614028573d6000803e3d6000fd5b5050505061403587613e75565b82614046868363ffffffff6138e116565b11611213576140536133ad565b6001600160a01b031663974e9e7f886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b1580156140aa57600080fd5b505af11580156140be573d6000803e3d6000fd5b5050505050505050505050565b60006113b56c10939090dbdb1b185d195c985b609a1b6040518060400160405280601f81526020017f4d697373696e67204574686572436f6c6c61746572616c20616464726573730081525061393e565b60006129598383670de0b6b3a7640000614632565b60006113b56a4f696b6f73457363726f7760a81b6040518060400160405280601b81526020017f4d697373696e67204f696b6f73457363726f772061646472657373000000000081525061393e565b60006113b56b526577617264457363726f7760a01b6040518060400160405280601c81526020017f4d697373696e6720526577617264457363726f7720616464726573730000000081525061393e565b600061295983836b033b2e3c9fd0803ce80000006145af565b600061295983836b033b2e3c9fd0803ce8000000614632565b600061097282633b9aca0063ffffffff61423a16565b60006305f5e10082046005600a82061061423057600a015b600a900492915050565b600082614249575060006123bb565b8282028284828161425657fe5b04146129595760405162461bcd60e51b81526004018080602001828103825260218152602001806147a06021913960400191505060405180910390fd5b60008082116142e9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816142f457fe5b04949350505050565b60006143076137a9565b905083600061431c848363ffffffff6138e116565b905060008115614386576000614338848463ffffffff6141d016565b90506143828173__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b158015611e2457600080fd5b9150505b8583141561444d576040805163a764eb4560e01b81526001600160a01b038a8116600483015260006024830181905292519087169263a764eb45926044808201939182900301818387803b1580156143dd57600080fd5b505af11580156143f1573d6000803e3d6000fd5b50505050836001600160a01b031663ba08f2996040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561443057600080fd5b505af1158015614444573d6000803e3d6000fd5b505050506144f0565b600061445f878563ffffffff6138e116565b90506000614473828563ffffffff6141d016565b9050856001600160a01b031663a764eb458b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156144d557600080fd5b505af11580156144e9573d6000803e3d6000fd5b5050505050505b836001600160a01b0316633d31e97b61453c83876001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b158015613c4b57600080fd5b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613d9357600080fd5b60006113b57549737375616e6365457465726e616c53746f7261676560501b6040518060600160405280602681526020016147c16026913961393e565b6000806145c9846136da87600a870263ffffffff61423a16565b90506005600a825b06106145db57600a015b600a9004949350505050565b60006113b566119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c206164647265737300000000000000000081525061393e565b600080600a8304614649868663ffffffff61423a16565b8161465057fe5b0490506005600a826145d1565b81548183558181111561181d5760008381526020902061181d9181019083016146a0565b6040518061030001604052806018906020820280388339509192915050565b6113b891905b8082111561205757600081556001016146a656fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704e6f7420617070726f76656420746f20616374206f6e20626568616c660000004d697373696e672044656c6567617465417070726f76616c732061646472657373412073796e7468206f72204f4b532072617465206973207374616c6500000000408ed3835e9609e4d31c91ab1ba2e7efedd9247de8bcfff3e95af5e4faadd0b94f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774d697373696e672049737375616e6365457465726e616c53746f7261676520616464726573734973737565723a204f6e6c7920746865206f696b6f7320636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820113749c38173c4cb8e53c09cc8c752e94e7c3f44d718e2861804249dbe176ee864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minimumStakeTime",
							"type": "uint256"
						}
					],
					"name": "MinimumStakeTimeUpdated",
					"type": "event",
					"signature": "0x2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e814477"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						}
					],
					"name": "SynthAdded",
					"type": "event",
					"signature": "0x0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c62884"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						}
					],
					"name": "SynthRemoved",
					"type": "event",
					"signature": "0x6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LAST_ISSUE_EVENT",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x129e05e6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINIMUM_STAKING_TIME",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8ce2f55b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract ISynth",
							"name": "synth",
							"type": "address"
						}
					],
					"name": "addSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x849cf588"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anySynthOrOKSRateIsStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateStale",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xad746d81"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableSynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbf63340"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "availableSynths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x835e119c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb06e8c65"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9a5154b4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnSynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x497d704a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnSynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2b3f41aa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "canBurnSynths",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbff4fdfc"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatioAndAnyRatesStale",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsStale",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa6eb4f95"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc8977132"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfd864ccf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x042e0688"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x44ec6b62"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "lastIssueEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd3d2b2e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "susdAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amountToLiquidate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa63c4df4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "maxIssuableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05b3c1c9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x242df9e1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "remainingIssuableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1137aedf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0b887dae"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setMinimumStakeTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe9422046"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x32608039"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "synthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x16b2213f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "excludeEtherCollateral",
							"type": "bool"
						}
					],
					"name": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalIssued",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7b1001b7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "balance",
							"type": "uint256"
						}
					],
					"name": "transferableOikosAndAnyRateIsStale",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsStale",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfc74f466"
				}
			]
		},
		"IssuanceEternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b5060405161124f38038061124f8339818101604052604081101561003357600080fd5b508051602090910151818180826001600160a01b03811661009b576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610145576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505050506110a5806101aa6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104e9578063bdc963d814610506578063c9a52d2c14610523578063f58660661461059a576101a9565b8063a209a29c146104a1578063a77aa49e146104be578063aefc4ccb146104e1576101a9565b80638267a9ee116100d35780638267a9ee146104425780638da5cb5b1461045f5780639007127b1461046757806393fe424814610484576101a9565b806353a47bb7146104065780635a2bf25a1461040e57806379ba50971461043a576101a9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed2146102f057806344bfa56e146103155780634c77e5ba146103a757806352f445ca146103e0576101a9565b806325cf512d1461028d5780633562fd20146102b05780633cc1635c146102d3576101a9565b8063025ec81a146101ae578063043106c0146101dd5780630c55d925146101fc578063124f2418146102195780631627540c1461023657806317e7dd221461025c575b600080fd5b6101cb600480360360208110156101c457600080fd5b5035610611565b60408051918252519081900360200190f35b6101fa600480360360208110156101f357600080fd5b5035610623565b005b6101fa6004803603602081101561021257600080fd5b503561068a565b6101fa6004803603602081101561022f57600080fd5b50356106ed565b6101fa6004803603602081101561024c57600080fd5b50356001600160a01b0316610747565b6102796004803603602081101561027257600080fd5b50356107e4565b604080519115158252519081900360200190f35b6101fa600480360360408110156102a357600080fd5b50803590602001356107f9565b6101fa600480360360408110156102c657600080fd5b5080359060200135610854565b6101fa600480360360208110156102e957600080fd5b50356108af565b6101fa6004803603604081101561030657600080fd5b50803590602001351515610910565b6103326004803603602081101561032b57600080fd5b5035610979565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036c578181015183820152602001610354565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c4600480360360208110156103bd57600080fd5b5035610a1a565b604080516001600160a01b039092168252519081900360200190f35b6101fa600480360360208110156103f657600080fd5b50356001600160a01b0316610a35565b6103c4610ad2565b6101fa6004803603604081101561042457600080fd5b50803590602001356001600160a01b0316610ae1565b6101fa610b58565b6101fa6004803603602081101561045857600080fd5b5035610c14565b6103c4610c6e565b6101cb6004803603602081101561047d57600080fd5b5035610c7d565b6101fa6004803603602081101561049a57600080fd5b5035610c8f565b610332600480360360208110156104b757600080fd5b5035610ce9565b6101fa600480360360408110156104d457600080fd5b5080359060200135610d53565b6103c4610dae565b6101fa600480360360208110156104ff57600080fd5b5035610dbd565b6101cb6004803603602081101561051c57600080fd5b5035610e1d565b6101fa6004803603604081101561053957600080fd5b8135919081019060408101602082013564010000000081111561055b57600080fd5b82018360208201111561056d57600080fd5b8035906020019184600183028401116401000000008311171561058f57600080fd5b509092509050610e2f565b6101fa600480360360408110156105b057600080fd5b813591908101906040810160208201356401000000008111156105d257600080fd5b8201836020820111156105e457600080fd5b8035906020019184600183028401116401000000008311171561060657600080fd5b509092509050610e97565b60009081526007602052604090205490565b6002546001600160a01b0316331461066c5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146106d35760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60008181526006602052604081206106ea91610ef9565b50565b6002546001600160a01b031633146107365760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260076020526040812055565b6000546001600160a01b031633146107905760405162461bcd60e51b815260040180806020018281038252602f81526020018061100e602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108425760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461089d5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146108f85760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b031633146109595760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610a0e5780601f106109e357610100808354040283529160200191610a0e565b820191906000526020600020905b8154815290600101906020018083116109f157829003601f168201915b50505050509050919050565b6000908152600560205260409020546001600160a01b031690565b6000546001600160a01b03163314610a7e5760405162461bcd60e51b815260040180806020018281038252602f81526020018061100e602f913960400191505060405180910390fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b2a5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610ba15760405162461bcd60e51b8152600401808060200182810382526035815260200180610fd96035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610c5d5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610cd85760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610a0e5780601f106109e357610100808354040283529160200191610a0e565b6002546001600160a01b03163314610d9c5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6002546001600160a01b03163314610e065760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60008181526004602052604081206106ea91610ef9565b60009081526003602052604090205490565b6002546001600160a01b03163314610e785760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000838152600660205260409020610e91908383610f3d565b50505050565b6002546001600160a01b03163314610ee05760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000838152600460205260409020610e91908383610f3d565b50805460018160011615610100020316600290046000825580601f10610f1f57506106ea565b601f0160209004906000526020600020908101906106ea9190610fbb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f7e5782800160ff19823516178555610fab565b82800160010185558215610fab579182015b82811115610fab578235825591602001919060010190610f90565b50610fb7929150610fbb565b5090565b610fd591905b80821115610fb75760008155600101610fc1565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a723158206fa1f9b1e78234fdc26b190f6f71f33d3451f265c3d368ece34f8f2f69cdaacc64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				}
			]
		},
		"EscrowChecker": {
			"bytecode": "608060405234801561001057600080fd5b506040516103173803806103178339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b03199092169190911790556102b2806100656000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063449d0eb11461003b5780638c7a47bc1461009a575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100be565b604051808261020080838360005b8381101561008757818101518382015260200161006f565b5050505090500191505060405180910390f35b6100a2610231565b604080516001600160a01b039092168252519081900360200190f35b6100c6610240565b6100ce610240565b6000805460408051631025b3b560e11b81526001600160a01b0387811660048301529151919092169163204b676a916024808301926020929190829003018186803b15801561011c57600080fd5b505afa158015610130573d6000803e3d6000fd5b505050506040513d602081101561014657600080fd5b5051905060005b818110156102285761015d61025f565b6000546040805163da7bd3e960e01b81526001600160a01b03898116600483015260248201869052825193169263da7bd3e992604480840193919291829003018186803b1580156101ad57600080fd5b505afa1580156101c1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060408110156101e657600080fd5b5080519091508460028402601081106101fb57fe5b6020020152806001602002015184836002026001016010811061021a57fe5b60200201525060010161014d565b50909392505050565b6000546001600160a01b031681565b6040518061020001604052806010906020820280388339509192915050565b6040518060400160405280600290602082028038833950919291505056fea265627a7a723158206582f852525ceafab90774d66c5c03d162cb5e6a4b3d48cf294a94651494e71b64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract IOikosEscrow",
							"name": "_esc",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAccountSchedule",
					"outputs": [
						{
							"internalType": "uint256[16]",
							"name": "",
							"type": "uint256[16]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x449d0eb1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "oikos_escrow",
					"outputs": [
						{
							"internalType": "contract IOikosEscrow",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8c7a47bc"
				}
			]
		},
		"Synth": {
			"bytecode": "6101206040526b53797374656d53746174757360a01b6080908152644f696b6f7360d81b60a0526822bc31b430b733b2b960b91b60c0526524b9b9bab2b960d11b60e05266119959541bdbdb60ca1b610100526200006290600f9060056200065c565b503480156200007057600080fd5b50604051620037903803806200379083398181016040526101008110156200009757600080fd5b81516020830151604080850180519151939592948301929184640100000000821115620000c357600080fd5b908301906020820185811115620000d957600080fd5b8251640100000000811182820188101715620000f457600080fd5b82525081516020918201929091019080838360005b838110156200012357818101518382015260200162000109565b50505050905090810190601f168015620001515780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200017557600080fd5b9083019060208201858111156200018b57600080fd5b8251640100000000811182820188101715620001a657600080fd5b82525081516020918201929091019080838360005b83811015620001d5578181015183820152602001620001bb565b50505050905090810190601f168015620002035780820380516001836020036101000a031916815260200191505b50604081815260208301518382015160608501516080909501516103008501938490529196509450918291600f9060189082845b81548152602001906001019080831162000237575050505050898989898760128b868160006001600160a01b0316816001600160a01b03161415620002c3576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b03166200036e576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005460038054610100600160a81b0319166101006001600160a01b0390931692830217905560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53916020908290030190a16000546001600160a01b031662000419576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600780546001600160a01b0319166001600160a01b03881617905584516200049b9060089060208801906200069f565b508351620004b19060099060208701906200069f565b5050600a91909155600b805460ff191660ff90921691909117905550506000546001600160a01b031615159150620005269050576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b60188110156200058e5760008282601881106200054257fe5b6020020151146200057f57600d8282601881106200055c57fe5b602090810291909101518254600181018455600093845291909220015562000585565b6200058e565b60010162000529565b5050600b8054610100600160a81b0319166101006001600160a01b03938416021790558816620005fa576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b0384166200064b576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600e5550620007319350505050565b82601881019282156200068d579160200282015b828111156200068d57825182559160200191906001019062000670565b506200069b92915062000711565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620006e257805160ff19168380011785556200068d565b828001600101855582156200068d57918201828111156200068d57825182559160200191906001019062000670565b6200072e91905b808211156200069b576000815560010162000718565b90565b61304f80620007416000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c80639cbdaeb611610151578063c6c9d828116100c3578063e73cced311610087578063e73cced3146106dc578063e90dd9e214610712578063eb1edd611461071a578063ec55688914610722578063f7ea7a3d1461072a578063ffff51d61461074757610274565b8063c6c9d82814610679578063d67bdd2514610696578063dbd06c851461069e578063dd62ed3e146106a6578063e3235c91146106d457610274565b8063ab49848c11610115578063ab49848c146105ce578063b014c3a31461060f578063b8225dec1461063b578063bc67f83214610643578063bd32aa4414610669578063c58aaae61461067157610274565b80639cbdaeb6146105405780639dc29fac146105485780639f76980714610574578063a461fc821461059a578063a9059cbb146105a257610274565b80633278c960116101ea57806379ba5097116101ae57806379ba5097146104ce578063867904b4146104d65780638da5cb5b1461050257806395d89b411461050a57806397107d6d146105125780639cb8a26a1461053857610274565b80633278c9601461044c5780633be99e6f1461045457806353a47bb71461047a578063631e14441461048257806370a08231146104a857610274565b806317c70de41161023c57806317c70de4146103a857806318160ddd146103c257806320714f88146103ca57806323b872dd146103f05780632e0f262514610426578063313ce5671461044457610274565b806304f3bcec1461027957806306fdde031461029d578063095ea7b31461031a578063131b0ae71461035a5780631627540c14610382575b600080fd5b61028161076d565b604080516001600160a01b039092168252519081900360200190f35b6102a5610781565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102df5781810151838201526020016102c7565b50505050905090810190601f16801561030c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103466004803603604081101561033057600080fd5b506001600160a01b03813516906020013561080f565b604080519115158252519081900360200190f35b6103806004803603602081101561037057600080fd5b50356001600160a01b03166108f9565b005b6103806004803603602081101561039857600080fd5b50356001600160a01b0316610964565b6103b0610a01565b60408051918252519081900360200190f35b6103b0610a07565b610380600480360360208110156103e057600080fd5b50356001600160a01b0316610a0d565b6103466004803603606081101561040657600080fd5b506001600160a01b03813581169160208101359091169060400135610b0d565b61042e610b82565b6040805160ff9092168252519081900360200190f35b61042e610b87565b610380610b90565b6103806004803603602081101561046a57600080fd5b50356001600160a01b0316610c13565b610281610d8a565b6103466004803603602081101561049857600080fd5b50356001600160a01b0316610d99565b6103b0600480360360208110156104be57600080fd5b50356001600160a01b0316610ec2565b610380610f45565b610380600480360360408110156104ec57600080fd5b506001600160a01b038135169060200135611001565b6102816110e7565b6102a56110f6565b6103806004803603602081101561052857600080fd5b50356001600160a01b0316611151565b6103806111ee565b610281611340565b6103806004803603604081101561055e57600080fd5b506001600160a01b03813516906020013561134f565b6103806004803603602081101561058a57600080fd5b50356001600160a01b0316611436565b6103b061150d565b610346600480360360408110156105b857600080fd5b506001600160a01b038135169060200135611514565b6105d66115fa565b604051808261030080838360005b838110156105fc5781810151838201526020016105e4565b5050505090500191505060405180910390f35b6103466004803603604081101561062557600080fd5b506001600160a01b038135169060200135611644565b61034661184e565b6103806004803603602081101561065957600080fd5b50356001600160a01b0316611857565b6103806118ed565b61028161197f565b6103b06004803603602081101561068f57600080fd5b5035611993565b6102816119b1565b6103b06119c0565b6103b0600480360360408110156106bc57600080fd5b506001600160a01b03813581169160200135166119c6565b6103b0611a52565b610346600480360360608110156106f257600080fd5b506001600160a01b03813581169160208101359091169060400135611a57565b610281611c5a565b610281611c69565b610281611c81565b6103806004803603602081101561074057600080fd5b5035611c90565b6103b06004803603602081101561075d57600080fd5b50356001600160a01b0316611d45565b600b5461010090046001600160a01b031681565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108075780601f106107dc57610100808354040283529160200191610807565b820191906000526020600020905b8154815290600101906020018083116107ea57829003601f168201915b505050505081565b6004546000906001600160a01b0316331480159061083857506005546001600160a01b03163314155b801561084f57506006546001600160a01b03163314155b1561086757600680546001600160a01b031916331790555b60065460075460408051633691826360e21b81526001600160a01b0393841660048201819052878516602483015260448201879052915191939092169163da46098c91606480830192600092919082900301818387803b1580156108ca57600080fd5b505af11580156108de573d6000803e3d6000fd5b505050506108ed818585611e88565b60019150505b92915050565b6000546001600160a01b031633146109425760405162461bcd60e51b815260040180806020018281038252602f815260200180612f4b602f913960400191505060405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109ad5760405162461bcd60e51b815260040180806020018281038252602f815260200180612f4b602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60025481565b600a5481565b6000546001600160a01b03163314610a565760405162461bcd60e51b815260040180806020018281038252602f815260200180612f4b602f913960400191505060405180910390fd5b6001600160a01b038116610ab1576040805162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b600380546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b6004546000906001600160a01b03163314801590610b3657506005546001600160a01b03163314155b8015610b4d57506006546001600160a01b03163314155b15610b6557600680546001600160a01b031916331790555b610b6f8483611fb8565b610b7a84848461212f565b949350505050565b601281565b600b5460ff1681565b6000546001600160a01b03163314610bd95760405162461bcd60e51b815260040180806020018281038252602f815260200180612f4b602f913960400191505060405180910390fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b6000546001600160a01b03163314610c5c5760405162461bcd60e51b815260040180806020018281038252602f815260200180612f4b602f913960400191505060405180910390fd5b600b8054610100600160a81b0319166101006001600160a01b0384160217905560005b600d54811015610d86576000600d8281548110610c9857fe5b60009182526020918290200154600b546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506101009091046001600160a01b03169263dacb2d0192608480840193829003018186803b158015610d2657600080fd5b505afa158015610d3a573d6000803e3d6000fd5b505050506040513d6020811015610d5057600080fd5b50516000918252600c602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610c7f565b5050565b6001546001600160a01b031681565b600b546000906001600160a01b038381166101009092041614610dbe57506000610ebd565b60005b600d54811015610eb7576000600d8281548110610dda57fe5b6000918252602080832090910154808352600c825260409283902054600b5484516321f8a72160e01b81526004810184905294519295506001600160a01b0391821694610100909104909116926321f8a72192602480840193829003018186803b158015610e4757600080fd5b505afa158015610e5b573d6000803e3d6000fd5b505050506040513d6020811015610e7157600080fd5b50516001600160a01b0316141580610e9e57506000818152600c60205260409020546001600160a01b0316155b15610eae57600092505050610ebd565b50600101610dc1565b50600190505b919050565b600754604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610f1357600080fd5b505afa158015610f27573d6000803e3d6000fd5b505050506040513d6020811015610f3d57600080fd5b505192915050565b6001546001600160a01b03163314610f8e5760405162461bcd60e51b8152600401808060200182810382526035815260200180612ee76035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061100b6122ec565b6001600160a01b0316336001600160a01b0316149050600061102b612332565b6001600160a01b0316336001600160a01b0316149050600061104b61237d565b6001600160a01b0316336001600160a01b0316149050600061106b6123ca565b6001600160a01b0316336001600160a01b0316149050838061108a5750825b806110925750815b8061109a5750805b6110d55760405162461bcd60e51b815260040180806020018281038252603a815260200180612f9b603a913960400191505060405180910390fd5b6110df868661240d565b505050505050565b6000546001600160a01b031681565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108075780601f106107dc57610100808354040283529160200191610807565b6000546001600160a01b0316331461119a5760405162461bcd60e51b815260040180806020018281038252602f815260200180612f4b602f913960400191505060405180910390fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6000546001600160a01b031633146112375760405162461bcd60e51b815260040180806020018281038252602f815260200180612f4b602f913960400191505060405180910390fd5b60035460ff1661128e576040805162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea0060025401106112e9576040805162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b600354604080516101009092046001600160a01b03168252517f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7916020908290030190a160035461010090046001600160a01b0316ff5b6005546001600160a01b031681565b60006113596122ec565b6001600160a01b0316336001600160a01b03161490506000611379612332565b6001600160a01b0316336001600160a01b0316149050600061139961237d565b6001600160a01b0316336001600160a01b031614905060006113b96123ca565b6001600160a01b0316336001600160a01b031614905083806113d85750825b806113e05750815b806113e85750805b6114235760405162461bcd60e51b815260040180806020018281038252603a815260200180612f9b603a913960400191505060405180910390fd5b61142d8686612537565b50505050505050565b6004546001600160a01b0316331480159061145c57506005546001600160a01b03163314155b801561147357506006546001600160a01b03163314155b1561148b57600680546001600160a01b031916331790555b6000546006546001600160a01b039081169116146114e6576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b03831617905561150a81612634565b50565b6224ea0081565b6004546000906001600160a01b0316331480159061153d57506005546001600160a01b03163314155b801561155457506006546001600160a01b03163314155b1561156c57600680546001600160a01b031916331790555b600654611582906001600160a01b031683611fb8565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef14156115b8576115b18383612778565b90506108f3565b6001600160a01b0383166115dc576006546115b1906001600160a01b031683612537565b6006546115f3906001600160a01b031684846128da565b9392505050565b611602612ec7565b60005b600d5481101561164057600d818154811061161c57fe5b906000526020600020015482826018811061163357fe5b6020020152600101611605565b5090565b6004546000906001600160a01b0316331480159061166d57506005546001600160a01b03163314155b801561168457506006546001600160a01b03163314155b1561169c57600680546001600160a01b031916331790555b6116a4612b07565b6001600160a01b03166342a28e21600e546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b1580156116e957600080fd5b505afa1580156116fd573d6000803e3d6000fd5b50505050600061170b61237d565b600654600e54604080516306c5a00b60e21b81526001600160a01b0393841660048201526024810192909252519290911691631b16802c916044808201926060929091908290030181600087803b15801561176557600080fd5b505af1158015611779573d6000803e3d6000fd5b505050506040513d606081101561178f57600080fd5b5060400151905082811561181c57600754600654604080516370a0823160e01b81526001600160a01b039283166004820152905191909216916370a08231916024808301926020929190829003018186803b1580156117ed57600080fd5b505afa158015611801573d6000803e3d6000fd5b505050506040513d602081101561181757600080fd5b505190505b808411611829578361182b565b805b600654909450611845906001600160a01b031686866128da565b95945050505050565b60035460ff1681565b6004546001600160a01b031633148061187a57506005546001600160a01b031633145b6118cb576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146119365760405162461bcd60e51b815260040180806020018281038252602f815260200180612f4b602f913960400191505060405180910390fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b60035461010090046001600160a01b031681565b600d81815481106119a057fe5b600091825260209091200154905081565b6006546001600160a01b031681565b600e5481565b60075460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015611a1f57600080fd5b505afa158015611a33573d6000803e3d6000fd5b505050506040513d6020811015611a4957600080fd5b50519392505050565b601881565b6004546000906001600160a01b03163314801590611a8057506005546001600160a01b03163314155b8015611a9757506006546001600160a01b03163314155b15611aaf57600680546001600160a01b031916331790555b611ab7612b07565b6001600160a01b03166342a28e21600e546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611afc57600080fd5b505afa158015611b10573d6000803e3d6000fd5b505050506000611b1e61237d565b6001600160a01b0316631b16802c86600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015611b7f57600080fd5b505af1158015611b93573d6000803e3d6000fd5b505050506040513d6060811015611ba957600080fd5b50604001519050828115611c3357600754604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015611c0457600080fd5b505afa158015611c18573d6000803e3d6000fd5b505050506040513d6020811015611c2e57600080fd5b505190505b80841015611c415783611c43565b805b9350611c5086868661212f565b9695505050505050565b6007546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6004546001600160a01b031681565b6004546001600160a01b03163314801590611cb657506005546001600160a01b03163314155b8015611ccd57506006546001600160a01b03163314155b15611ce557600680546001600160a01b031916331790555b6000546006546001600160a01b03908116911614611d40576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600a55565b600080611d5061237d565b6001600160a01b03166319d5c66584600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015611daf57600080fd5b505afa158015611dc3573d6000803e3d6000fd5b505050506040513d6060811015611dd957600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b158015611e2e57600080fd5b505afa158015611e42573d6000803e3d6000fd5b505050506040513d6020811015611e5857600080fd5b5051905080821115611e6f57600092505050610ebd565b611e7f818363ffffffff612b5716565b92505050610ebd565b60045460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612f7a823960210190506040518091039020611edb88612bb4565b611ee488612bb4565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015611f53578181015183820152602001611f3b565b50505050905090810190601f168015611f805780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015611fa457600080fd5b505af115801561142d573d6000803e3d6000fd5b611fc061237d565b6001600160a01b031663059c29ec83600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561201f57600080fd5b505afa158015612033573d6000803e3d6000fd5b505050506040513d602081101561204957600080fd5b5051156120875760405162461bcd60e51b8152600401808060200182810382526025815260200180612fd56025913960400191505060405180910390fd5b8061209183611d45565b10156120ce5760405162461bcd60e51b815260040180806020018281038252602f815260200180612f1c602f913960400191505060405180910390fd5b6120d6612b07565b6001600160a01b03166342a28e21600e546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561211b57600080fd5b505afa1580156110df573d6000803e3d6000fd5b60075460065460408051636eb1769f60e11b81526001600160a01b0387811660048301529283166024820152905160009360001993169163dd62ed3e916044808301926020929190829003018186803b15801561218b57600080fd5b505afa15801561219f573d6000803e3d6000fd5b505050506040513d60208110156121b557600080fd5b5051146122e15760075460065460408051636eb1769f60e11b81526001600160a01b038881166004830152928316602482018190529151929093169263da46098c92889291612260918891879163dd62ed3e91604480820192602092909190829003018186803b15801561222857600080fd5b505afa15801561223c573d6000803e3d6000fd5b505050506040513d602081101561225257600080fd5b50519063ffffffff612b5716565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156122c857600080fd5b505af11580156122dc573d6000803e3d6000fd5b505050505b610b7a8484846128da565b600061232d644f696b6f7360d81b604051806040016040528060158152602001744d697373696e67204f696b6f73206164647265737360581b815250612bc0565b905090565b600061232d66119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c2061646472657373000000000000000000815250612bc0565b600061232d6822bc31b430b733b2b960b91b6040518060400160405280601981526020017f4d697373696e672045786368616e676572206164647265737300000000000000815250612bc0565b600061232d6524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b815250612bc0565b600754604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f69185916124a391869186916370a0823191602480820192602092909190829003018186803b15801561246b57600080fd5b505afa15801561247f573d6000803e3d6000fd5b505050506040513d602081101561249557600080fd5b50519063ffffffff612c6a16565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156124f257600080fd5b505af1158015612506573d6000803e3d6000fd5b5050600a5461251e925090508263ffffffff612c6a16565b600a5561252d60008383612cc4565b610d868282612d17565b600754604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f691869161259791879186916370a08231916024808301926020929190829003018186803b15801561222857600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156125e657600080fd5b505af11580156125fa573d6000803e3d6000fd5b5050600a54612612925090508363ffffffff612b5716565b600a5561262183600084612cc4565b61262b8383612e5b565b50600192915050565b60048054604080516001600160a01b038581166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c0988601988952865160c48701528651949097169763907dff979791959294919384938493839260e4909201918a0190808383885b8381101561270c5781810151838201526020016126f4565b50505050905090810190601f1680156127395780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561275d57600080fd5b505af1158015612771573d6000803e3d6000fd5b5050505050565b600080600e54631bd554d160e21b14156127ac575060065482906127a6906001600160a01b031685836128da565b5061286b565b6127b461237d565b600654600e5460408051630a1e187d60e01b81526001600160a01b039384166004820152602481019290925260448201879052631bd554d160e21b606483015273feefeefeefeefeefeefeefeefeefeefeefeefeef6084830152519290911691630a1e187d9160a4808201926020929091908290030181600087803b15801561283c57600080fd5b505af1158015612850573d6000803e3d6000fd5b505050506040513d602081101561286657600080fd5b505190505b612873612332565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156128b857600080fd5b505af11580156128cc573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b038316158015906128fd57506001600160a01b0383163014155b801561291757506004546001600160a01b03848116911614155b612968576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600754604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f69187916129c691879186916370a0823191602480820192602092909190829003018186803b15801561222857600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612a1557600080fd5b505af1158015612a29573d6000803e3d6000fd5b5050600754604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f692508691612a8b91879186916370a0823191602480820192602092909190829003018186803b15801561246b57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612ada57600080fd5b505af1158015612aee573d6000803e3d6000fd5b50505050612afd848484612cc4565b5060019392505050565b600061232d6b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250612bc0565b600082821115612bae576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000828152600c60205260408120546001600160a01b03168281612c625760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c27578181015183820152602001612c0f565b50505050905090810190601f168015612c545780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b6000828201838110156115f3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60045460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612ffa823960210190506040518091039020611edb88612bb4565b600454604080516020808201859052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169163907dff979190600290612d8387612bb4565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015612df6578181015183820152602001612dde565b50505050905090810190601f168015612e235780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015612e4757600080fd5b505af11580156110df573d6000803e3d6000fd5b600454604080516020808201859052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169163907dff979190600290612d8387612bb4565b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e74323536294f6e6c79204f696b6f732c20466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f77656443616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a723158206e6fc09bdeb1f8fea591fa04c834cd9a64668fcdeb0a31b79aad3c5f5fd6a43864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "string",
							"name": "_tokenName",
							"type": "string"
						},
						{
							"internalType": "string",
							"name": "_tokenSymbol",
							"type": "string"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Burned",
					"type": "event",
					"signature": "0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Issued",
					"type": "event",
					"signature": "0xa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9dc29fac"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currencyKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd06c85"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x867904b4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setTotalSupply",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf7ea7a3d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb014c3a3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFromAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe73cced3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xffff51d6"
				}
			]
		},
		"MultiCollateralSynth": {
			"bytecode": "6101206040526b53797374656d53746174757360a01b6080908152644f696b6f7360d81b60a0526822bc31b430b733b2b960b91b60c0526524b9b9bab2b960d11b60e05266119959541bdbdb60ca1b610100526200006290600f906005620007d8565b503480156200007057600080fd5b50604051620039e1380380620039e183398181016040526101208110156200009757600080fd5b81516020830151604080850180519151939592948301929184640100000000821115620000c357600080fd5b908301906020820185811115620000d957600080fd5b8251640100000000811182820188101715620000f457600080fd5b82525081516020918201929091019080838360005b838110156200012357818101518382015260200162000109565b50505050905090810190601f168015620001515780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200017557600080fd5b9083019060208201858111156200018b57600080fd5b8251640100000000811182820188101715620001a657600080fd5b82525081516020918201929091019080838360005b83811015620001d5578181015183820152602001620001bb565b50505050905090810190601f168015620002035780820380516001836020036101000a031916815260200191505b5060408181526020830151838201516060850151608086015160a090960151610300860190945291965094509291899089908990899089908990899089908190600f60188282826020028201915b81548152602001906001019080831162000251575050505050898989898760128b868160006001600160a01b0316816001600160a01b03161415620002dd576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000388576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005460038054610100600160a81b0319166101006001600160a01b0390931692830217905560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53916020908290030190a16000546001600160a01b031662000433576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600780546001600160a01b0319166001600160a01b0388161790558451620004b59060089060208801906200081b565b508351620004cb9060099060208701906200081b565b5050600a91909155600b805460ff191660ff90921691909117905550506000546001600160a01b031615159150620005409050576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620005a85760008282601881106200055c57fe5b6020020151146200059957600d8282601881106200057657fe5b60209081029190910151825460018101845560009384529190922001556200059f565b620005a8565b60010162000543565b5050600b8054610100600160a81b0319166101006001600160a01b0393841602179055881662000614576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b03841662000665576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600e55505050602783905550620006899050816001600160e01b036200069816565b505050505050505050620008ad565b600d805460018101825560008290527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5018290555460181162000722576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600b60019054906101000a90046001600160a01b03166001600160a01b03166321f8a721826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200077c57600080fd5b505afa15801562000791573d6000803e3d6000fd5b505050506040513d6020811015620007a857600080fd5b50516000918252600c602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b826018810192821562000809579160200282015b8281111562000809578251825591602001919060010190620007ec565b50620008179291506200088d565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200085e57805160ff191683800117855562000809565b8280016001018555821562000809579182018281111562000809578251825591602001919060010190620007ec565b620008aa91905b8082111562000817576000815560010162000894565b90565b61312480620008bd6000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c80639cbdaeb61161015c578063c6c9d828116100ce578063e90dd9e211610087578063e90dd9e21461071d578063eb1edd6114610725578063ec5568891461072d578063f7ea7a3d14610735578063fd92ae7714610752578063ffff51d61461075a5761027f565b8063c6c9d82814610684578063d67bdd25146106a1578063dbd06c85146106a9578063dd62ed3e146106b1578063e3235c91146106df578063e73cced3146106e75761027f565b8063ab49848c11610120578063ab49848c146105d9578063b014c3a31461061a578063b8225dec14610646578063bc67f8321461064e578063bd32aa4414610674578063c58aaae61461067c5761027f565b80639cbdaeb61461054b5780639dc29fac146105535780639f7698071461057f578063a461fc82146105a5578063a9059cbb146105ad5761027f565b80633278c960116101f557806379ba5097116101b957806379ba5097146104d9578063867904b4146104e15780638da5cb5b1461050d57806395d89b411461051557806397107d6d1461051d5780639cb8a26a146105435761027f565b80633278c960146104575780633be99e6f1461045f57806353a47bb714610485578063631e14441461048d57806370a08231146104b35761027f565b806317c70de41161024757806317c70de4146103b357806318160ddd146103cd57806320714f88146103d557806323b872dd146103fb5780632e0f262514610431578063313ce5671461044f5761027f565b806304f3bcec1461028457806306fdde03146102a8578063095ea7b314610325578063131b0ae7146103655780631627540c1461038d575b600080fd5b61028c610780565b604080516001600160a01b039092168252519081900360200190f35b6102b0610794565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ea5781810151838201526020016102d2565b50505050905090810190601f1680156103175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103516004803603604081101561033b57600080fd5b506001600160a01b038135169060200135610822565b604080519115158252519081900360200190f35b61038b6004803603602081101561037b57600080fd5b50356001600160a01b031661090c565b005b61038b600480360360208110156103a357600080fd5b50356001600160a01b0316610977565b6103bb610a14565b60408051918252519081900360200190f35b6103bb610a1a565b61038b600480360360208110156103eb57600080fd5b50356001600160a01b0316610a20565b6103516004803603606081101561041157600080fd5b506001600160a01b03813581169160208101359091169060400135610b20565b610439610b95565b6040805160ff9092168252519081900360200190f35b610439610b9a565b61038b610ba3565b61038b6004803603602081101561047557600080fd5b50356001600160a01b0316610c26565b61028c610d9d565b610351600480360360208110156104a357600080fd5b50356001600160a01b0316610dac565b6103bb600480360360208110156104c957600080fd5b50356001600160a01b0316610ed5565b61038b610f58565b61038b600480360360408110156104f757600080fd5b506001600160a01b038135169060200135611014565b61028c611123565b6102b0611132565b61038b6004803603602081101561053357600080fd5b50356001600160a01b031661118d565b61038b61122a565b61028c61137c565b61038b6004803603604081101561056957600080fd5b506001600160a01b03813516906020013561138b565b61038b6004803603602081101561059557600080fd5b50356001600160a01b031661149b565b6103bb611572565b610351600480360360408110156105c357600080fd5b506001600160a01b038135169060200135611579565b6105e161165f565b604051808261030080838360005b838110156106075781810151838201526020016105ef565b5050505090500191505060405180910390f35b6103516004803603604081101561063057600080fd5b506001600160a01b0381351690602001356116a9565b6103516118b3565b61038b6004803603602081101561066457600080fd5b50356001600160a01b03166118bc565b61038b611952565b61028c6119e4565b6103bb6004803603602081101561069a57600080fd5b50356119f8565b61028c611a16565b6103bb611a25565b6103bb600480360360408110156106c757600080fd5b506001600160a01b0381358116916020013516611a2b565b6103bb611ab7565b610351600480360360608110156106fd57600080fd5b506001600160a01b03813581169160208101359091169060400135611abc565b61028c611cbf565b61028c611cce565b61028c611ce6565b61038b6004803603602081101561074b57600080fd5b5035611cf5565b6103bb611daa565b6103bb6004803603602081101561077057600080fd5b50356001600160a01b0316611db0565b600b5461010090046001600160a01b031681565b6008805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561081a5780601f106107ef5761010080835404028352916020019161081a565b820191906000526020600020905b8154815290600101906020018083116107fd57829003601f168201915b505050505081565b6004546000906001600160a01b0316331480159061084b57506005546001600160a01b03163314155b801561086257506006546001600160a01b03163314155b1561087a57600680546001600160a01b031916331790555b60065460075460408051633691826360e21b81526001600160a01b0393841660048201819052878516602483015260448201879052915191939092169163da46098c91606480830192600092919082900301818387803b1580156108dd57600080fd5b505af11580156108f1573d6000803e3d6000fd5b50505050610900818585611ef3565b60019150505b92915050565b6000546001600160a01b031633146109555760405162461bcd60e51b815260040180806020018281038252602f81526020018061300f602f913960400191505060405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109c05760405162461bcd60e51b815260040180806020018281038252602f81526020018061300f602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60025481565b600a5481565b6000546001600160a01b03163314610a695760405162461bcd60e51b815260040180806020018281038252602f81526020018061300f602f913960400191505060405180910390fd5b6001600160a01b038116610ac4576040805162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b600380546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b6004546000906001600160a01b03163314801590610b4957506005546001600160a01b03163314155b8015610b6057506006546001600160a01b03163314155b15610b7857600680546001600160a01b031916331790555b610b828483612023565b610b8d8484846121a2565b949350505050565b601281565b600b5460ff1681565b6000546001600160a01b03163314610bec5760405162461bcd60e51b815260040180806020018281038252602f81526020018061300f602f913960400191505060405180910390fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b6000546001600160a01b03163314610c6f5760405162461bcd60e51b815260040180806020018281038252602f81526020018061300f602f913960400191505060405180910390fd5b600b8054610100600160a81b0319166101006001600160a01b0384160217905560005b600d54811015610d99576000600d8281548110610cab57fe5b60009182526020918290200154600b546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506101009091046001600160a01b03169263dacb2d0192608480840193829003018186803b158015610d3957600080fd5b505afa158015610d4d573d6000803e3d6000fd5b505050506040513d6020811015610d6357600080fd5b50516000918252600c602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610c92565b5050565b6001546001600160a01b031681565b600b546000906001600160a01b038381166101009092041614610dd157506000610ed0565b60005b600d54811015610eca576000600d8281548110610ded57fe5b6000918252602080832090910154808352600c825260409283902054600b5484516321f8a72160e01b81526004810184905294519295506001600160a01b0391821694610100909104909116926321f8a72192602480840193829003018186803b158015610e5a57600080fd5b505afa158015610e6e573d6000803e3d6000fd5b505050506040513d6020811015610e8457600080fd5b50516001600160a01b0316141580610eb157506000818152600c60205260409020546001600160a01b0316155b15610ec157600092505050610ed0565b50600101610dd4565b50600190505b919050565b600754604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610f2657600080fd5b505afa158015610f3a573d6000803e3d6000fd5b505050506040513d6020811015610f5057600080fd5b505192915050565b6001546001600160a01b03163314610fa15760405162461bcd60e51b8152600401808060200182810382526035815260200180612f806035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061101e61235f565b6001600160a01b0316336001600160a01b0316149050600061103e6123a5565b6001600160a01b0316336001600160a01b0316149050600061105e6123f0565b6001600160a01b0316336001600160a01b0316149050600061107e61243d565b6001600160a01b0316336001600160a01b0316149050600061109e612480565b6001600160a01b0316336001600160a01b031614905084806110bd5750835b806110c55750825b806110cd5750815b806110d55750805b6111105760405162461bcd60e51b815260040180806020018281038252604b8152602001806130a5604b913960600191505060405180910390fd5b61111a87876124a6565b50505050505050565b6000546001600160a01b031681565b6009805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561081a5780601f106107ef5761010080835404028352916020019161081a565b6000546001600160a01b031633146111d65760405162461bcd60e51b815260040180806020018281038252602f81526020018061300f602f913960400191505060405180910390fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6000546001600160a01b031633146112735760405162461bcd60e51b815260040180806020018281038252602f81526020018061300f602f913960400191505060405180910390fd5b60035460ff166112ca576040805162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea006002540110611325576040805162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b600354604080516101009092046001600160a01b03168252517f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7916020908290030190a160035461010090046001600160a01b0316ff5b6005546001600160a01b031681565b600061139561235f565b6001600160a01b0316336001600160a01b031614905060006113b56123a5565b6001600160a01b0316336001600160a01b031614905060006113d56123f0565b6001600160a01b0316336001600160a01b031614905060006113f561243d565b6001600160a01b0316336001600160a01b03161490506000611415612480565b6001600160a01b0316336001600160a01b031614905084806114345750835b8061143c5750825b806114445750815b8061144c5750805b6114875760405162461bcd60e51b815260040180806020018281038252604b8152602001806130a5604b913960600191505060405180910390fd5b61149187876125d0565b5050505050505050565b6004546001600160a01b031633148015906114c157506005546001600160a01b03163314155b80156114d857506006546001600160a01b03163314155b156114f057600680546001600160a01b031916331790555b6000546006546001600160a01b0390811691161461154b576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b03831617905561156f816126cd565b50565b6224ea0081565b6004546000906001600160a01b031633148015906115a257506005546001600160a01b03163314155b80156115b957506006546001600160a01b03163314155b156115d157600680546001600160a01b031916331790555b6006546115e7906001600160a01b031683612023565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef141561161d576116168383612811565b9050610906565b6001600160a01b03831661164157600654611616906001600160a01b0316836125d0565b600654611658906001600160a01b03168484612973565b9392505050565b611667612f60565b60005b600d548110156116a557600d818154811061168157fe5b906000526020600020015482826018811061169857fe5b602002015260010161166a565b5090565b6004546000906001600160a01b031633148015906116d257506005546001600160a01b03163314155b80156116e957506006546001600160a01b03163314155b1561170157600680546001600160a01b031916331790555b611709612ba0565b6001600160a01b03166342a28e21600e546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561174e57600080fd5b505afa158015611762573d6000803e3d6000fd5b5050505060006117706123f0565b600654600e54604080516306c5a00b60e21b81526001600160a01b0393841660048201526024810192909252519290911691631b16802c916044808201926060929091908290030181600087803b1580156117ca57600080fd5b505af11580156117de573d6000803e3d6000fd5b505050506040513d60608110156117f457600080fd5b5060400151905082811561188157600754600654604080516370a0823160e01b81526001600160a01b039283166004820152905191909216916370a08231916024808301926020929190829003018186803b15801561185257600080fd5b505afa158015611866573d6000803e3d6000fd5b505050506040513d602081101561187c57600080fd5b505190505b80841161188e5783611890565b805b6006549094506118aa906001600160a01b03168686612973565b95945050505050565b60035460ff1681565b6004546001600160a01b03163314806118df57506005546001600160a01b031633145b611930576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461199b5760405162461bcd60e51b815260040180806020018281038252602f81526020018061300f602f913960400191505060405180910390fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b60035461010090046001600160a01b031681565b600d8181548110611a0557fe5b600091825260209091200154905081565b6006546001600160a01b031681565b600e5481565b60075460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015611a8457600080fd5b505afa158015611a98573d6000803e3d6000fd5b505050506040513d6020811015611aae57600080fd5b50519392505050565b601881565b6004546000906001600160a01b03163314801590611ae557506005546001600160a01b03163314155b8015611afc57506006546001600160a01b03163314155b15611b1457600680546001600160a01b031916331790555b611b1c612ba0565b6001600160a01b03166342a28e21600e546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611b6157600080fd5b505afa158015611b75573d6000803e3d6000fd5b505050506000611b836123f0565b6001600160a01b0316631b16802c86600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015611be457600080fd5b505af1158015611bf8573d6000803e3d6000fd5b505050506040513d6060811015611c0e57600080fd5b50604001519050828115611c9857600754604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015611c6957600080fd5b505afa158015611c7d573d6000803e3d6000fd5b505050506040513d6020811015611c9357600080fd5b505190505b80841015611ca65783611ca8565b805b9350611cb58686866121a2565b9695505050505050565b6007546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6004546001600160a01b031681565b6004546001600160a01b03163314801590611d1b57506005546001600160a01b03163314155b8015611d3257506006546001600160a01b03163314155b15611d4a57600680546001600160a01b031916331790555b6000546006546001600160a01b03908116911614611da5576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600a55565b60275481565b600080611dbb6123f0565b6001600160a01b03166319d5c66584600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015611e1a57600080fd5b505afa158015611e2e573d6000803e3d6000fd5b505050506040513d6060811015611e4457600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b158015611e9957600080fd5b505afa158015611ead573d6000803e3d6000fd5b505050506040513d6020811015611ec357600080fd5b5051905080821115611eda57600092505050610ed0565b611eea818363ffffffff612bf016565b92505050610ed0565b60045460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161303e823960210190506040518091039020611f4688612c4d565b611f4f88612c4d565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015611fbe578181015183820152602001611fa6565b50505050905090810190601f168015611feb5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561200f57600080fd5b505af115801561111a573d6000803e3d6000fd5b61202b6123f0565b6001600160a01b031663059c29ec83600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561208a57600080fd5b505afa15801561209e573d6000803e3d6000fd5b505050506040513d60208110156120b457600080fd5b5051156120f25760405162461bcd60e51b815260040180806020018281038252602581526020018061305f6025913960400191505060405180910390fd5b806120fc83611db0565b10156121395760405162461bcd60e51b815260040180806020018281038252602f815260200180612fb5602f913960400191505060405180910390fd5b612141612ba0565b6001600160a01b03166342a28e21600e546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561218657600080fd5b505afa15801561219a573d6000803e3d6000fd5b505050505050565b60075460065460408051636eb1769f60e11b81526001600160a01b0387811660048301529283166024820152905160009360001993169163dd62ed3e916044808301926020929190829003018186803b1580156121fe57600080fd5b505afa158015612212573d6000803e3d6000fd5b505050506040513d602081101561222857600080fd5b5051146123545760075460065460408051636eb1769f60e11b81526001600160a01b038881166004830152928316602482018190529151929093169263da46098c928892916122d3918891879163dd62ed3e91604480820192602092909190829003018186803b15801561229b57600080fd5b505afa1580156122af573d6000803e3d6000fd5b505050506040513d60208110156122c557600080fd5b50519063ffffffff612bf016565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b15801561233b57600080fd5b505af115801561234f573d6000803e3d6000fd5b505050505b610b8d848484612973565b60006123a0644f696b6f7360d81b604051806040016040528060158152602001744d697373696e67204f696b6f73206164647265737360581b815250612c59565b905090565b60006123a066119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c2061646472657373000000000000000000815250612c59565b60006123a06822bc31b430b733b2b960b91b6040518060400160405280601981526020017f4d697373696e672045786368616e676572206164647265737300000000000000815250612c59565b60006123a06524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b815250612c59565b60006123a06027546040518060600160405280602b8152602001612fe4602b9139612c59565b600754604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f691859161253c91869186916370a0823191602480820192602092909190829003018186803b15801561250457600080fd5b505afa158015612518573d6000803e3d6000fd5b505050506040513d602081101561252e57600080fd5b50519063ffffffff612d0316565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050600a546125b7925090508263ffffffff612d0316565b600a556125c660008383612d5d565b610d998282612db0565b600754604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f691869161263091879186916370a08231916024808301926020929190829003018186803b15801561229b57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561267f57600080fd5b505af1158015612693573d6000803e3d6000fd5b5050600a546126ab925090508363ffffffff612bf016565b600a556126ba83600084612d5d565b6126c48383612ef4565b50600192915050565b60048054604080516001600160a01b038581166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c0988601988952865160c48701528651949097169763907dff979791959294919384938493839260e4909201918a0190808383885b838110156127a557818101518382015260200161278d565b50505050905090810190601f1680156127d25780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156127f657600080fd5b505af115801561280a573d6000803e3d6000fd5b5050505050565b600080600e54631bd554d160e21b14156128455750600654829061283f906001600160a01b03168583612973565b50612904565b61284d6123f0565b600654600e5460408051630a1e187d60e01b81526001600160a01b039384166004820152602481019290925260448201879052631bd554d160e21b606483015273feefeefeefeefeefeefeefeefeefeefeefeefeef6084830152519290911691630a1e187d9160a4808201926020929091908290030181600087803b1580156128d557600080fd5b505af11580156128e9573d6000803e3d6000fd5b505050506040513d60208110156128ff57600080fd5b505190505b61290c6123a5565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561295157600080fd5b505af1158015612965573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b0383161580159061299657506001600160a01b0383163014155b80156129b057506004546001600160a01b03848116911614155b612a01576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600754604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f6918791612a5f91879186916370a0823191602480820192602092909190829003018186803b15801561229b57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612aae57600080fd5b505af1158015612ac2573d6000803e3d6000fd5b5050600754604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f692508691612b2491879186916370a0823191602480820192602092909190829003018186803b15801561250457600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612b7357600080fd5b505af1158015612b87573d6000803e3d6000fd5b50505050612b96848484612d5d565b5060019392505050565b60006123a06b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250612c59565b600082821115612c47576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000828152600c60205260408120546001600160a01b03168281612cfb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612cc0578181015183820152602001612ca8565b50505050905090810190601f168015612ced5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600082820183811015611658576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60045460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021613084823960210190506040518091039020611f4688612c4d565b600454604080516020808201859052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169163907dff979190600290612e1c87612c4d565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015612e8f578181015183820152602001612e77565b50505050905090810190601f168015612ebc5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015612ee057600080fd5b505af115801561219a573d6000803e3d6000fd5b600454604080516020808201859052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169163907dff979190600290612e1c87612c4d565b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e675265736f6c766572206973206d697373696e67206d756c7469436f6c6c61746572616c20616464726573734f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e74323536294f6e6c79204f696b6f732c20466565506f6f6c2c2045786368616e6765722c20497373756572206f72204d756c7469436f6c6c61746572616c20636f6e74726163747320616c6c6f776564a265627a7a723158204567790f8156af7b4f65750728d3bf4b1ce1bfdff1bd4205612b101044862b1464736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "string",
							"name": "_tokenName",
							"type": "string"
						},
						{
							"internalType": "string",
							"name": "_tokenSymbol",
							"type": "string"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_multiCollateralKey",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Burned",
					"type": "event",
					"signature": "0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Issued",
					"type": "event",
					"signature": "0xa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9dc29fac"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currencyKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd06c85"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x867904b4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "multiCollateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfd92ae77"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setTotalSupply",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf7ea7a3d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb014c3a3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFromAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe73cced3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xffff51d6"
				}
			]
		},
		"PurgeableSynth": {
			"bytecode": "6101206040526b53797374656d53746174757360a01b6080908152644f696b6f7360d81b60a0526822bc31b430b733b2b960b91b60c0526524b9b9bab2b960d11b60e05266119959541bdbdb60ca1b610100526200006290600f90600562000855565b5073__$3123cc1d66d3bdb6ad1ab810b3f0e3cac5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620000a857600080fd5b505af4158015620000bd573d6000803e3d6000fd5b505050506040513d6020811015620000d457600080fd5b5051620186a002602755348015620000eb57600080fd5b5060405162003e8f38038062003e8f83398181016040526101008110156200011257600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200013e57600080fd5b9083019060208201858111156200015457600080fd5b82516401000000008111828201881017156200016f57600080fd5b82525081516020918201929091019080838360005b838110156200019e57818101518382015260200162000184565b50505050905090810190601f168015620001cc5780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115620001f057600080fd5b9083019060208201858111156200020657600080fd5b82516401000000008111828201881017156200022157600080fd5b82525081516020918201929091019080838360005b838110156200025057818101518382015260200162000236565b50505050905090810190601f1680156200027e5780820380516001836020036101000a031916815260200191505b5060408181526020830151838201516060850151608090950151610300850193849052919650945091899189918991899189918991899189918291600f9060189082845b815481526020019060010190808311620002c2575050505050898989898760128b868160006001600160a01b0316816001600160a01b031614156200034e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620003f9576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005460038054610100600160a81b0319166101006001600160a01b0390931692830217905560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53916020908290030190a16000546001600160a01b0316620004a4576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600780546001600160a01b0319166001600160a01b03881617905584516200052690600890602088019062000898565b5083516200053c90600990602087019062000898565b5050600a91909155600b805460ff191660ff90921691909117905550506000546001600160a01b031615159150620005b19050576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b601881101562000619576000828260188110620005cd57fe5b6020020151146200060a57600d828260188110620005e757fe5b602090810291909101518254600181018455600093845291909220015562000610565b62000619565b600101620005b4565b5050600b8054610100600160a81b0319166101006001600160a01b0393841602179055881662000685576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b038416620006d6576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600e55506200070793506c45786368616e6765526174657360981b9250506001600160e01b0362000715169050565b50505050505050506200092a565b600d805460018101825560008290527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb501829055546018116200079f576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600b60019054906101000a90046001600160a01b03166001600160a01b03166321f8a721826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620007f957600080fd5b505afa1580156200080e573d6000803e3d6000fd5b505050506040513d60208110156200082557600080fd5b50516000918252600c602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b826018810192821562000886579160200282015b828111156200088657825182559160200191906001019062000869565b50620008949291506200090a565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620008db57805160ff191683800117855562000886565b828001600101855582156200088657918201828111156200088657825182559160200191906001019062000869565b6200092791905b8082111562000894576000815560010162000911565b90565b613555806200093a6000396000f3fe608060405234801561001057600080fd5b506004361061028a5760003560e01c80639cbdaeb61161015c578063c58aaae6116100ce578063e73cced311610087578063e73cced31461076a578063e90dd9e2146107a0578063eb1edd61146107a8578063ec556889146107b0578063f7ea7a3d146107b8578063ffff51d6146107d55761028a565b8063c58aaae6146106ff578063c6c9d82814610707578063d67bdd2514610724578063dbd06c851461072c578063dd62ed3e14610734578063e3235c91146107625761028a565b8063ab49848c11610120578063ab49848c146105ec578063ab5930791461062d578063b014c3a31461069d578063b8225dec146106c9578063bc67f832146106d1578063bd32aa44146106f75761028a565b80639cbdaeb61461055e5780639dc29fac146105665780639f76980714610592578063a461fc82146105b8578063a9059cbb146105c05761028a565b80633278c960116102005780637e88ac16116101b95780637e88ac16146104ec578063867904b4146104f45780638da5cb5b1461052057806395d89b411461052857806397107d6d146105305780639cb8a26a146105565761028a565b80633278c960146104625780633be99e6f1461046a57806353a47bb714610490578063631e14441461049857806370a08231146104be57806379ba5097146104e45761028a565b806317c70de41161025257806317c70de4146103be57806318160ddd146103d857806320714f88146103e057806323b872dd146104065780632e0f26251461043c578063313ce5671461045a5761028a565b806304f3bcec1461028f57806306fdde03146102b3578063095ea7b314610330578063131b0ae7146103705780631627540c14610398575b600080fd5b6102976107fb565b604080516001600160a01b039092168252519081900360200190f35b6102bb61080f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f55781810151838201526020016102dd565b50505050905090810190601f1680156103225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61035c6004803603604081101561034657600080fd5b506001600160a01b03813516906020013561089d565b604080519115158252519081900360200190f35b6103966004803603602081101561038657600080fd5b50356001600160a01b0316610987565b005b610396600480360360208110156103ae57600080fd5b50356001600160a01b03166109f2565b6103c6610a8f565b60408051918252519081900360200190f35b6103c6610a95565b610396600480360360208110156103f657600080fd5b50356001600160a01b0316610a9b565b61035c6004803603606081101561041c57600080fd5b506001600160a01b03813581169160208101359091169060400135610b9b565b610444610c10565b6040805160ff9092168252519081900360200190f35b610444610c15565b610396610c1e565b6103966004803603602081101561048057600080fd5b50356001600160a01b0316610ca1565b610297610e18565b61035c600480360360208110156104ae57600080fd5b50356001600160a01b0316610e27565b6103c6600480360360208110156104d457600080fd5b50356001600160a01b0316610f50565b610396610fd3565b6103c661108f565b6103966004803603604081101561050a57600080fd5b506001600160a01b038135169060200135611095565b61029761117b565b6102bb61118a565b6103966004803603602081101561054657600080fd5b50356001600160a01b03166111e5565b610396611282565b6102976113d4565b6103966004803603604081101561057c57600080fd5b506001600160a01b0381351690602001356113e3565b610396600480360360208110156105a857600080fd5b50356001600160a01b03166114ca565b6103c66115a1565b61035c600480360360408110156105d657600080fd5b506001600160a01b0381351690602001356115a8565b6105f461168e565b604051808261030080838360005b8381101561061a578181015183820152602001610602565b5050505090500191505060405180910390f35b6103966004803603602081101561064357600080fd5b81019060208101813564010000000081111561065e57600080fd5b82018360208201111561067057600080fd5b8035906020019184602083028401116401000000008311171561069257600080fd5b5090925090506116d8565b61035c600480360360408110156106b357600080fd5b506001600160a01b038135169060200135611a4d565b61035c611c57565b610396600480360360208110156106e757600080fd5b50356001600160a01b0316611c60565b610396611cf6565b610297611d88565b6103c66004803603602081101561071d57600080fd5b5035611d9c565b610297611dba565b6103c6611dc9565b6103c66004803603604081101561074a57600080fd5b506001600160a01b0381358116916020013516611dcf565b6103c6611e5b565b61035c6004803603606081101561078057600080fd5b506001600160a01b03813581169160208101359091169060400135611e60565b610297612063565b610297612072565b61029761208a565b610396600480360360208110156107ce57600080fd5b5035612099565b6103c6600480360360208110156107eb57600080fd5b50356001600160a01b031661214e565b600b5461010090046001600160a01b031681565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108955780601f1061086a57610100808354040283529160200191610895565b820191906000526020600020905b81548152906001019060200180831161087857829003601f168201915b505050505081565b6004546000906001600160a01b031633148015906108c657506005546001600160a01b03163314155b80156108dd57506006546001600160a01b03163314155b156108f557600680546001600160a01b031916331790555b60065460075460408051633691826360e21b81526001600160a01b0393841660048201819052878516602483015260448201879052915191939092169163da46098c91606480830192600092919082900301818387803b15801561095857600080fd5b505af115801561096c573d6000803e3d6000fd5b5050505061097b818585612291565b60019150505b92915050565b6000546001600160a01b031633146109d05760405162461bcd60e51b815260040180806020018281038252602f81526020018061340a602f913960400191505060405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610a3b5760405162461bcd60e51b815260040180806020018281038252602f81526020018061340a602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60025481565b600a5481565b6000546001600160a01b03163314610ae45760405162461bcd60e51b815260040180806020018281038252602f81526020018061340a602f913960400191505060405180910390fd5b6001600160a01b038116610b3f576040805162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b600380546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b6004546000906001600160a01b03163314801590610bc457506005546001600160a01b03163314155b8015610bdb57506006546001600160a01b03163314155b15610bf357600680546001600160a01b031916331790555b610bfd84836123c1565b610c08848484612538565b949350505050565b601281565b600b5460ff1681565b6000546001600160a01b03163314610c675760405162461bcd60e51b815260040180806020018281038252602f81526020018061340a602f913960400191505060405180910390fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b6000546001600160a01b03163314610cea5760405162461bcd60e51b815260040180806020018281038252602f81526020018061340a602f913960400191505060405180910390fd5b600b8054610100600160a81b0319166101006001600160a01b0384160217905560005b600d54811015610e14576000600d8281548110610d2657fe5b60009182526020918290200154600b546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506101009091046001600160a01b03169263dacb2d0192608480840193829003018186803b158015610db457600080fd5b505afa158015610dc8573d6000803e3d6000fd5b505050506040513d6020811015610dde57600080fd5b50516000918252600c602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610d0d565b5050565b6001546001600160a01b031681565b600b546000906001600160a01b038381166101009092041614610e4c57506000610f4b565b60005b600d54811015610f45576000600d8281548110610e6857fe5b6000918252602080832090910154808352600c825260409283902054600b5484516321f8a72160e01b81526004810184905294519295506001600160a01b0391821694610100909104909116926321f8a72192602480840193829003018186803b158015610ed557600080fd5b505afa158015610ee9573d6000803e3d6000fd5b505050506040513d6020811015610eff57600080fd5b50516001600160a01b0316141580610f2c57506000818152600c60205260409020546001600160a01b0316155b15610f3c57600092505050610f4b565b50600101610e4f565b50600190505b919050565b600754604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610fa157600080fd5b505afa158015610fb5573d6000803e3d6000fd5b505050506040513d6020811015610fcb57600080fd5b505192915050565b6001546001600160a01b0316331461101c5760405162461bcd60e51b81526004018080602001828103825260358152602001806133a66035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60275481565b600061109f6126f5565b6001600160a01b0316336001600160a01b031614905060006110bf61273b565b6001600160a01b0316336001600160a01b031614905060006110df612786565b6001600160a01b0316336001600160a01b031614905060006110ff6127d3565b6001600160a01b0316336001600160a01b0316149050838061111e5750825b806111265750815b8061112e5750805b6111695760405162461bcd60e51b815260040180806020018281038252603a81526020018061345a603a913960400191505060405180910390fd5b6111738686612816565b505050505050565b6000546001600160a01b031681565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108955780601f1061086a57610100808354040283529160200191610895565b6000546001600160a01b0316331461122e5760405162461bcd60e51b815260040180806020018281038252602f81526020018061340a602f913960400191505060405180910390fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6000546001600160a01b031633146112cb5760405162461bcd60e51b815260040180806020018281038252602f81526020018061340a602f913960400191505060405180910390fd5b60035460ff16611322576040805162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea00600254011061137d576040805162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b600354604080516101009092046001600160a01b03168252517f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7916020908290030190a160035461010090046001600160a01b0316ff5b6005546001600160a01b031681565b60006113ed6126f5565b6001600160a01b0316336001600160a01b0316149050600061140d61273b565b6001600160a01b0316336001600160a01b0316149050600061142d612786565b6001600160a01b0316336001600160a01b0316149050600061144d6127d3565b6001600160a01b0316336001600160a01b0316149050838061146c5750825b806114745750815b8061147c5750805b6114b75760405162461bcd60e51b815260040180806020018281038252603a81526020018061345a603a913960400191505060405180910390fd5b6114c18686612940565b50505050505050565b6004546001600160a01b031633148015906114f057506005546001600160a01b03163314155b801561150757506006546001600160a01b03163314155b1561151f57600680546001600160a01b031916331790555b6000546006546001600160a01b0390811691161461157a576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b03831617905561159e81612a3d565b50565b6224ea0081565b6004546000906001600160a01b031633148015906115d157506005546001600160a01b03163314155b80156115e857506006546001600160a01b03163314155b1561160057600680546001600160a01b031916331790555b600654611616906001600160a01b0316836123c1565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef141561164c576116458383612b7a565b9050610981565b6001600160a01b03831661167057600654611645906001600160a01b031683612940565b600654611687906001600160a01b03168484612cdc565b9392505050565b611696613386565b60005b600d548110156116d457600d81815481106116b057fe5b90600052602060002001548282601881106116c757fe5b6020020152600101611699565b5090565b6004546001600160a01b031633148015906116fe57506005546001600160a01b03163314155b801561171557506006546001600160a01b03163314155b1561172d57600680546001600160a01b031916331790555b6000546006546001600160a01b03908116911614611788576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b6000611792612f09565b90506000816001600160a01b031663654a60ac602754600e546040518363ffffffff1660e01b81526004018080631bd554d160e21b8152506020018381526020018281526020019250505060206040518083038186803b1580156117f557600080fd5b505afa158015611809573d6000803e3d6000fd5b505050506040513d602081101561181f57600080fd5b5051600a54909150811015806118a35750816001600160a01b031663af3aea86600e546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561187657600080fd5b505afa15801561188a573d6000803e3d6000fd5b505050506040513d60208110156118a057600080fd5b50515b6118de5760405162461bcd60e51b81526004018080602001828103825260478152602001806134da6047913960600191505060405180910390fd5b60005b83811015611a465760008585838181106118f757fe5b600754604080516370a0823160e01b8152602093840295909501356001600160a01b03908116600487018190529151919650600095921693506370a0823192602480840193919291829003018186803b15801561195357600080fd5b505afa158015611967573d6000803e3d6000fd5b505050506040513d602081101561197d57600080fd5b505190508015611a3c5761198f612786565b600e5460408051630a1e187d60e01b81526001600160a01b0386811660048301819052602483019490945260448201869052631bd554d160e21b6064830152608482019390935290519290911691630a1e187d9160a4808201926020929091908290030181600087803b158015611a0557600080fd5b505af1158015611a19573d6000803e3d6000fd5b505050506040513d6020811015611a2f57600080fd5b50611a3c90508282612f5a565b50506001016118e1565b5050505050565b6004546000906001600160a01b03163314801590611a7657506005546001600160a01b03163314155b8015611a8d57506006546001600160a01b03163314155b15611aa557600680546001600160a01b031916331790555b611aad61309e565b6001600160a01b03166342a28e21600e546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611af257600080fd5b505afa158015611b06573d6000803e3d6000fd5b505050506000611b14612786565b600654600e54604080516306c5a00b60e21b81526001600160a01b0393841660048201526024810192909252519290911691631b16802c916044808201926060929091908290030181600087803b158015611b6e57600080fd5b505af1158015611b82573d6000803e3d6000fd5b505050506040513d6060811015611b9857600080fd5b50604001519050828115611c2557600754600654604080516370a0823160e01b81526001600160a01b039283166004820152905191909216916370a08231916024808301926020929190829003018186803b158015611bf657600080fd5b505afa158015611c0a573d6000803e3d6000fd5b505050506040513d6020811015611c2057600080fd5b505190505b808411611c325783611c34565b805b600654909450611c4e906001600160a01b03168686612cdc565b95945050505050565b60035460ff1681565b6004546001600160a01b0316331480611c8357506005546001600160a01b031633145b611cd4576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314611d3f5760405162461bcd60e51b815260040180806020018281038252602f81526020018061340a602f913960400191505060405180910390fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b60035461010090046001600160a01b031681565b600d8181548110611da957fe5b600091825260209091200154905081565b6006546001600160a01b031681565b600e5481565b60075460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015611e2857600080fd5b505afa158015611e3c573d6000803e3d6000fd5b505050506040513d6020811015611e5257600080fd5b50519392505050565b601881565b6004546000906001600160a01b03163314801590611e8957506005546001600160a01b03163314155b8015611ea057506006546001600160a01b03163314155b15611eb857600680546001600160a01b031916331790555b611ec061309e565b6001600160a01b03166342a28e21600e546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611f0557600080fd5b505afa158015611f19573d6000803e3d6000fd5b505050506000611f27612786565b6001600160a01b0316631b16802c86600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015611f8857600080fd5b505af1158015611f9c573d6000803e3d6000fd5b505050506040513d6060811015611fb257600080fd5b5060400151905082811561203c57600754604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561200d57600080fd5b505afa158015612021573d6000803e3d6000fd5b505050506040513d602081101561203757600080fd5b505190505b8084101561204a578361204c565b805b9350612059868686612538565b9695505050505050565b6007546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6004546001600160a01b031681565b6004546001600160a01b031633148015906120bf57506005546001600160a01b03163314155b80156120d657506006546001600160a01b03163314155b156120ee57600680546001600160a01b031916331790555b6000546006546001600160a01b03908116911614612149576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600a55565b600080612159612786565b6001600160a01b03166319d5c66584600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b1580156121b857600080fd5b505afa1580156121cc573d6000803e3d6000fd5b505050506040513d60608110156121e257600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561223757600080fd5b505afa15801561224b573d6000803e3d6000fd5b505050506040513d602081101561226157600080fd5b505190508082111561227857600092505050610f4b565b612288818363ffffffff6130ee16565b92505050610f4b565b60045460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff97916003908060216134398239602101905060405180910390206122e48861314b565b6122ed8861314b565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561235c578181015183820152602001612344565b50505050905090810190601f1680156123895780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156123ad57600080fd5b505af11580156114c1573d6000803e3d6000fd5b6123c9612786565b6001600160a01b031663059c29ec83600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561242857600080fd5b505afa15801561243c573d6000803e3d6000fd5b505050506040513d602081101561245257600080fd5b5051156124905760405162461bcd60e51b81526004018080602001828103825260258152602001806134946025913960400191505060405180910390fd5b8061249a8361214e565b10156124d75760405162461bcd60e51b815260040180806020018281038252602f8152602001806133db602f913960400191505060405180910390fd5b6124df61309e565b6001600160a01b03166342a28e21600e546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561252457600080fd5b505afa158015611173573d6000803e3d6000fd5b60075460065460408051636eb1769f60e11b81526001600160a01b0387811660048301529283166024820152905160009360001993169163dd62ed3e916044808301926020929190829003018186803b15801561259457600080fd5b505afa1580156125a8573d6000803e3d6000fd5b505050506040513d60208110156125be57600080fd5b5051146126ea5760075460065460408051636eb1769f60e11b81526001600160a01b038881166004830152928316602482018190529151929093169263da46098c92889291612669918891879163dd62ed3e91604480820192602092909190829003018186803b15801561263157600080fd5b505afa158015612645573d6000803e3d6000fd5b505050506040513d602081101561265b57600080fd5b50519063ffffffff6130ee16565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156126d157600080fd5b505af11580156126e5573d6000803e3d6000fd5b505050505b610c08848484612cdc565b6000612736644f696b6f7360d81b604051806040016040528060158152602001744d697373696e67204f696b6f73206164647265737360581b815250613157565b905090565b600061273666119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c2061646472657373000000000000000000815250613157565b60006127366822bc31b430b733b2b960b91b6040518060400160405280601981526020017f4d697373696e672045786368616e676572206164647265737300000000000000815250613157565b60006127366524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b815250613157565b600754604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f69185916128ac91869186916370a0823191602480820192602092909190829003018186803b15801561287457600080fd5b505afa158015612888573d6000803e3d6000fd5b505050506040513d602081101561289e57600080fd5b50519063ffffffff61320116565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156128fb57600080fd5b505af115801561290f573d6000803e3d6000fd5b5050600a54612927925090508263ffffffff61320116565b600a556129366000838361325b565b610e1482826132ae565b600754604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f69186916129a091879186916370a08231916024808301926020929190829003018186803b15801561263157600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156129ef57600080fd5b505af1158015612a03573d6000803e3d6000fd5b5050600a54612a1b925090508363ffffffff6130ee16565b600a55612a2a8360008461325b565b612a34838361331a565b50600192915050565b60048054604080516001600160a01b038581166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c0988601988952865160c48701528651949097169763907dff979791959294919384938493839260e4909201918a0190808383885b83811015612b15578181015183820152602001612afd565b50505050905090810190601f168015612b425780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015612b6657600080fd5b505af1158015611a46573d6000803e3d6000fd5b600080600e54631bd554d160e21b1415612bae57506006548290612ba8906001600160a01b03168583612cdc565b50612c6d565b612bb6612786565b600654600e5460408051630a1e187d60e01b81526001600160a01b039384166004820152602481019290925260448201879052631bd554d160e21b606483015273feefeefeefeefeefeefeefeefeefeefeefeefeef6084830152519290911691630a1e187d9160a4808201926020929091908290030181600087803b158015612c3e57600080fd5b505af1158015612c52573d6000803e3d6000fd5b505050506040513d6020811015612c6857600080fd5b505190505b612c7561273b565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015612cba57600080fd5b505af1158015612cce573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b03831615801590612cff57506001600160a01b0383163014155b8015612d1957506004546001600160a01b03848116911614155b612d6a576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600754604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f6918791612dc891879186916370a0823191602480820192602092909190829003018186803b15801561263157600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612e1757600080fd5b505af1158015612e2b573d6000803e3d6000fd5b5050600754604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f692508691612e8d91879186916370a0823191602480820192602092909190829003018186803b15801561287457600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612edc57600080fd5b505af1158015612ef0573d6000803e3d6000fd5b50505050612eff84848461325b565b5060019392505050565b60006127366c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676552617465732061646472657373000000815250613157565b600454604080516020808201859052825180830390910181528183018084527f50757267656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169163907dff979190600290612fc68761314b565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015613039578181015183820152602001613021565b50505050905090810190601f1680156130665780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561308a57600080fd5b505af1158015611173573d6000803e3d6000fd5b60006127366b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250613157565b600082821115613145576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000828152600c60205260408120546001600160a01b031682816131f95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156131be5781810151838201526020016131a6565b50505050905090810190601f1680156131eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600082820183811015611687576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60045460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff97916003908060216134b98239602101905060405180910390206122e48861314b565b600454604080516020808201859052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169163907dff979190600290612fc68761314b565b600454604080516020808201859052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169163907dff979190600290612fc68761314b565b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e74323536294f6e6c79204f696b6f732c20466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f77656443616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e743235362943616e6e6f7420707572676520617320746f74616c20737570706c792069732061626f7665207468726573686f6c6420616e642072617465206973206e6f742066726f7a656e2ea265627a7a72315820c5d8adc4eb70c2510c3c95631ada25c36858fedbd611c8c9df6939c614c8712364736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "string",
							"name": "_tokenName",
							"type": "string"
						},
						{
							"internalType": "string",
							"name": "_tokenSymbol",
							"type": "string"
						},
						{
							"internalType": "address payable",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Burned",
					"type": "event",
					"signature": "0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Issued",
					"type": "event",
					"signature": "0xa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Purged",
					"type": "event",
					"signature": "0x265db6c9c62cb962adbcf4398a54e4b02b2d87b28ab5b7538850150465a5f43c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9dc29fac"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currencyKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd06c85"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x867904b4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxSupplyToPurgeInUSD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e88ac16"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "addresses",
							"type": "address[]"
						}
					],
					"name": "purge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xab593079"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setTotalSupply",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf7ea7a3d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb014c3a3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFromAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe73cced3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xffff51d6"
				}
			]
		},
		"Depot": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$5b1a0139898c1861867d128118276f8f0f$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051603202600f5560408051630241ebdb60e61b8152905173__$5b1a0139898c1861867d128118276f8f0f$__9163907af6c0916004808301926020929190829003018186803b158015620000c557600080fd5b505af4158015620000da573d6000803e3d6000fd5b505050506040513d6020811015620000f157600080fd5b50516101f402601055604080516060810182526814de5b9d1a1bd554d160ba1b81526c45786368616e6765526174657360981b6020820152644f696b6f7360d81b91810191909152620001499060129060036200046f565b503480156200015757600080fd5b5060405162003c7138038062003c71833981810160405260608110156200017d57600080fd5b5080516020820151604092830151835161030081019485905292939192909182919060129060189082845b815481526020019060010190808311620001a857508893505050506001600160a01b0381166200021f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002ca576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005460038054610100600160a81b0319166101006001600160a01b0390931692830217905560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53916020908290030190a16000546001600160a01b031662000375576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60016006556000546001600160a01b0316620003cc576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b601881101562000434576000828260188110620003e857fe5b602002015114620004255760098282601881106200040257fe5b60209081029190910151825460018101845560009384529190922001556200042b565b62000434565b600101620003cf565b5050600780546001600160a01b039283166001600160a01b031991821617909155600a80549490921693169290921790915550620004d29050565b8260188101928215620004a0579160200282015b82811115620004a057825182559160200191906001019062000483565b50620004ae929150620004b2565b5090565b620004cf91905b80821115620004ae5760008155600101620004b9565b90565b61378f80620004e26000396000f3fe6080604052600436106102675760003560e01c806379ba509711610144578063b8225dec116100b6578063c6c9d8281161007a578063c6c9d828146108f9578063c6f99c0b14610923578063dc8fa6c21461094d578063e3235c9114610977578063e77e9a501461098c578063fd12167f146109af57610267565b8063b8225dec1461085d578063bb7df17214610872578063bd32aa441461089c578063c58aaae6146108b1578063c6abb7c7146108c657610267565b80639cb8a26a116101085780639cb8a26a14610759578063a461fc821461076e578063aab483d614610783578063ab49848c146107ad578063b02c43d0146107fb578063b1338cc41461084857610267565b806379ba5097146106db5780637abad8e3146106f057806381b797dc1461071a5780638da5cb5b1461072f57806391b4ded91461074457610267565b80633278c960116101dd57806357ecb3ae116101a157806357ecb3ae146105ff5780635c975abb14610607578063631e14441461063057806364e39b87146106635780636d5ab4a91461069657806376c27f8b146106ab57610267565b80633278c960146105635780633be99e6f146105785780634d0387fb146105ab5780635118fdbd146105c057806353a47bb7146105ea57610267565b806316c38b3c1161022f57806316c38b3c146104a857806317c70de4146104d45780631f930115146104e957806320714f88146104f15780632194f3a2146105245780632b02104a1461053957610267565b806304f3bcec146103d4578063080c279a146104055780630c928bc21461042c5780630c928f05146104495780631627540c14610473575b60068054600101908190556208aa8960eb1b6102816109c4565b6001600160a01b0316629919c0826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102c357600080fd5b505afa1580156102d7573d6000803e3d6000fd5b505050506040513d60208110156102ed57600080fd5b50511561032f576040805162461bcd60e51b81526020600482015260196024820152600080516020613716833981519152604482015290519081900360640190fd5b60055460ff16156103715760405162461bcd60e51b815260040180806020018281038252603c8152602001806136da603c913960400191505060405180910390fd5b610379610a1a565b505060065481146103d1576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b50005b3480156103e057600080fd5b506103e961120a565b604080516001600160a01b039092168252519081900360200190f35b34801561041157600080fd5b5061041a611219565b60408051918252519081900360200190f35b61041a6004803603602081101561044257600080fd5b503561121f565b34801561045557600080fd5b5061041a6004803603602081101561046c57600080fd5b50356113e9565b34801561047f57600080fd5b506104a66004803603602081101561049657600080fd5b50356001600160a01b0316611480565b005b3480156104b457600080fd5b506104a6600480360360208110156104cb57600080fd5b5035151561151d565b3480156104e057600080fd5b5061041a6115d8565b61041a6115de565b3480156104fd57600080fd5b506104a66004803603602081101561051457600080fd5b50356001600160a01b0316611750565b34801561053057600080fd5b506103e9611850565b34801561054557600080fd5b5061041a6004803603602081101561055c57600080fd5b503561185f565b34801561056f57600080fd5b506104a66118ee565b34801561058457600080fd5b506104a66004803603602081101561059b57600080fd5b50356001600160a01b0316611971565b3480156105b757600080fd5b5061041a611adf565b3480156105cc57600080fd5b5061041a600480360360208110156105e357600080fd5b5035611ae5565b3480156105f657600080fd5b506103e9611bef565b61041a611bfe565b34801561061357600080fd5b5061061c611dcb565b604080519115158252519081900360200190f35b34801561063c57600080fd5b5061061c6004803603602081101561065357600080fd5b50356001600160a01b0316611dd4565b34801561066f57600080fd5b506104a66004803603602081101561068657600080fd5b50356001600160a01b0316611eef565b3480156106a257600080fd5b5061041a611f92565b3480156106b757600080fd5b5061041a600480360360408110156106ce57600080fd5b5080359060200135611f98565b3480156106e757600080fd5b506104a6612164565b3480156106fc57600080fd5b506104a66004803603602081101561071357600080fd5b5035612220565b34801561072657600080fd5b506104a66122f9565b34801561073b57600080fd5b506103e9612533565b34801561075057600080fd5b5061041a612542565b34801561076557600080fd5b506104a6612548565b34801561077a57600080fd5b5061041a61269a565b34801561078f57600080fd5b506104a6600480360360208110156107a657600080fd5b50356126a1565b3480156107b957600080fd5b506107c26127d2565b604051808261030080838360005b838110156107e85781810151838201526020016107d0565b5050505090500191505060405180910390f35b34801561080757600080fd5b506108256004803603602081101561081e57600080fd5b5035612818565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561085457600080fd5b5061041a61283d565b34801561086957600080fd5b5061061c612843565b34801561087e57600080fd5b506104a66004803603602081101561089557600080fd5b503561284c565b3480156108a857600080fd5b506104a66128d0565b3480156108bd57600080fd5b506103e9612962565b3480156108d257600080fd5b5061041a600480360360208110156108e957600080fd5b50356001600160a01b0316612976565b34801561090557600080fd5b5061041a6004803603602081101561091c57600080fd5b5035612988565b34801561092f57600080fd5b5061041a6004803603602081101561094657600080fd5b50356129a6565b34801561095957600080fd5b506104a66004803603602081101561097057600080fd5b5035612a41565b34801561098357600080fd5b5061041a612c05565b61041a600480360360408110156109a257600080fd5b5080359060200135612c0a565b3480156109bb57600080fd5b5061041a612f4d565b6000610a156c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676552617465732061646472657373000000815250612f53565b905090565b6000601054341115610a5d5760405162461bcd60e51b81526004018080602001828103825260258152602001806136856025913960400191505060405180910390fd5b600080610aed610a6b6109c4565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ab457600080fd5b505afa158015610ac8573d6000803e3d6000fd5b505050506040513d6020811015610ade57600080fd5b5051349063ffffffff612fff16565b600c5490915081905b600082118015610b075750600d5481105b156110b557610b14613552565b506000818152600b6020908152604091829020825180840190935280546001600160a01b031680845260019091015491830191909152610b6a57600c54610b6290600163ffffffff61302916565b600c556110ac565b8281602001511115610e0e576020810151600090610b8e908563ffffffff61308316565b60408051808201825284516001600160a01b03908116825260208083018581526000898152600b909252939020915182546001600160a01b03191691161781559051600190910155600e54909150610be69085613083565b600e55610c76610bf46109c4565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c3d57600080fd5b505afa158015610c51573d6000803e3d6000fd5b505050506040513d6020811015610c6757600080fd5b5051859063ffffffff6130e016565b82516040519197506001600160a01b03169087156108fc029088906000818181858888f19350505050610d2457600a546040516001600160a01b039091169087156108fc029088906000818181858888f19350505050158015610cdd573d6000803e3d6000fd5b5081516040805188815290516001600160a01b03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610d70565b81516040805188815260208101879052815186936001600160a01b03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c929081900390910190a45b610d7861310a565b6001600160a01b031663a9059cbb33866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610dd757600080fd5b505af1158015610deb573d6000803e3d6000fd5b505050506040513d6020811015610e0157600080fd5b50600094506110ac915050565b828160200151116110ac576000828152600b6020526040812080546001600160a01b0319168155600190810191909155600c54610e509163ffffffff61302916565b600c556020810151600e54610e6a9163ffffffff61308316565b600e55610efe610e786109c4565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ec157600080fd5b505afa158015610ed5573d6000803e3d6000fd5b505050506040513d6020811015610eeb57600080fd5b505160208301519063ffffffff6130e016565b81516040519196506001600160a01b03169086156108fc029087906000818181858888f19350505050610fac57600a546040516001600160a01b039091169086156108fc029087906000818181858888f19350505050158015610f65573d6000803e3d6000fd5b5080516040805187815290516001600160a01b03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610ffc565b80516020808301516040805189815292830191909152805185936001600160a01b03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c92918290030190a45b61100461310a565b6001600160a01b031663a9059cbb3383602001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561106757600080fd5b505af115801561107b573d6000803e3d6000fd5b505050506040513d602081101561109157600080fd5b505060208101516110a990849063ffffffff61308316565b92505b50600101610af6565b50801561117757336108fc61114d6110cb6109c4565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561111457600080fd5b505afa158015611128573d6000803e3d6000fd5b505050506040513d602081101561113e57600080fd5b5051849063ffffffff6130e016565b6040518115909202916000818181858888f19350505050158015611175573d6000803e3d6000fd5b505b6000611189838363ffffffff61308316565b9050801561120257604080513460208201526060810183905260808082526003908201526208aa8960eb1b60a082015260c0818301819052600490820152631bd554d160e21b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15b935050505090565b6007546001600160a01b031681565b600f5481565b60006208aa8960eb1b6112306109c4565b6001600160a01b0316629919c0826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561127257600080fd5b505afa158015611286573d6000803e3d6000fd5b505050506040513d602081101561129c57600080fd5b5051156112de576040805162461bcd60e51b81526020600482015260196024820152600080516020613716833981519152604482015290519081900360640190fd5b60055460ff16156113205760405162461bcd60e51b815260040180806020018281038252603c8152602001806136da603c913960400191505060405180910390fd5b6113286109c4565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561137157600080fd5b505afa158015611385573d6000803e3d6000fd5b505050506040513d602081101561139b57600080fd5b505183146113da5760405162461bcd60e51b81526004018080602001828103825260258152602001806137366025913960400191505060405180910390fd5b6113e2610a1a565b9392505050565b60006114786113f66109c4565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561143f57600080fd5b505afa158015611453573d6000803e3d6000fd5b505050506040513d602081101561146957600080fd5b5051839063ffffffff612fff16565b90505b919050565b6000546001600160a01b031633146114c95760405162461bcd60e51b815260040180806020018281038252602f815260200180613635602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000546001600160a01b031633146115665760405162461bcd60e51b815260040180806020018281038252602f815260200180613635602f913960400191505060405180910390fd5b60055460ff161515811515141561157c576115d5565b6005805460ff1916821515179081905560ff161561159957426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60025481565b60068054600101908190556000906208aa8960eb1b6115fb6109c4565b6001600160a01b0316629919c0826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561163d57600080fd5b505afa158015611651573d6000803e3d6000fd5b505050506040513d602081101561166757600080fd5b5051156116a9576040805162461bcd60e51b81526020600482015260196024820152600080516020613716833981519152604482015290519081900360640190fd5b60055460ff16156116eb5760405162461bcd60e51b815260040180806020018281038252603c8152602001806136da603c913960400191505060405180910390fd5b6116f3610a1a565b925050600654811461174c576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5090565b6000546001600160a01b031633146117995760405162461bcd60e51b815260040180806020018281038252602f815260200180613635602f913960400191505060405180910390fd5b6001600160a01b0381166117f4576040805162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b600380546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b600a546001600160a01b031681565b600061147861186c6109c4565b6001600160a01b031663ac82f608624f4b5360e81b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156118b557600080fd5b505afa1580156118c9573d6000803e3d6000fd5b505050506040513d60208110156118df57600080fd5b5051839063ffffffff6130e016565b6000546001600160a01b031633146119375760405162461bcd60e51b815260040180806020018281038252602f815260200180613635602f913960400191505060405180910390fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b6000546001600160a01b031633146119ba5760405162461bcd60e51b815260040180806020018281038252602f815260200180613635602f913960400191505060405180910390fd5b600780546001600160a01b0319166001600160a01b03831617905560005b600954811015611adb576000600982815481106119f157fe5b600091825260209182902001546007546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b158015611a7b57600080fd5b505afa158015611a8f573d6000803e3d6000fd5b505050506040513d6020811015611aa557600080fd5b505160009182526008602052604090912080546001600160a01b0319166001600160a01b039092169190911790556001016119d8565b5050565b600e5481565b6000624f4b5360e81b611af66109c4565b6001600160a01b0316629919c0826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b3857600080fd5b505afa158015611b4c573d6000803e3d6000fd5b505050506040513d6020811015611b6257600080fd5b505115611ba4576040805162461bcd60e51b81526020600482015260196024820152600080516020613716833981519152604482015290519081900360640190fd5b60055460ff1615611be65760405162461bcd60e51b815260040180806020018281038252603c8152602001806136da603c913960400191505060405180910390fd5b6113e283613157565b6001546001600160a01b031681565b6000624f4b5360e81b611c0f6109c4565b6001600160a01b0316629919c0826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611c5157600080fd5b505afa158015611c65573d6000803e3d6000fd5b505050506040513d6020811015611c7b57600080fd5b505115611cbd576040805162461bcd60e51b81526020600482015260196024820152600080516020613716833981519152604482015290519081900360640190fd5b6208aa8960eb1b611ccc6109c4565b6001600160a01b0316629919c0826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611d0e57600080fd5b505afa158015611d22573d6000803e3d6000fd5b505050506040513d6020811015611d3857600080fd5b505115611d7a576040805162461bcd60e51b81526020600482015260196024820152600080516020613716833981519152604482015290519081900360640190fd5b60055460ff1615611dbc5760405162461bcd60e51b815260040180806020018281038252603c8152602001806136da603c913960400191505060405180910390fd5b611dc4613301565b9250505090565b60055460ff1681565b6007546000906001600160a01b03838116911614611df45750600061147b565b60005b600954811015611ee657600060098281548110611e1057fe5b6000918252602080832090910154808352600882526040928390205460075484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b158015611e7657600080fd5b505afa158015611e8a573d6000803e3d6000fd5b505050506040513d6020811015611ea057600080fd5b50516001600160a01b0316141580611ecd57506000818152600860205260409020546001600160a01b0316155b15611edd5760009250505061147b565b50600101611df7565b50600192915050565b6000546001600160a01b03163314611f385760405162461bcd60e51b815260040180806020018281038252602f815260200180613635602f913960400191505060405180910390fd5b600a80546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050916020908290030190a150565b600c5481565b6000624f4b5360e81b611fa96109c4565b6001600160a01b0316629919c0826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611feb57600080fd5b505afa158015611fff573d6000803e3d6000fd5b505050506040513d602081101561201557600080fd5b505115612057576040805162461bcd60e51b81526020600482015260196024820152600080516020613716833981519152604482015290519081900360640190fd5b60055460ff16156120995760405162461bcd60e51b815260040180806020018281038252603c8152602001806136da603c913960400191505060405180910390fd5b6120a16109c4565b6001600160a01b031663ac82f608624f4b5360e81b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156120ea57600080fd5b505afa1580156120fe573d6000803e3d6000fd5b505050506040513d602081101561211457600080fd5b505183146121535760405162461bcd60e51b81526004018080602001828103825260258152602001806137366025913960400191505060405180910390fd5b61215c84613157565b949350505050565b6001546001600160a01b031633146121ad5760405162461bcd60e51b81526004018080602001828103825260358152602001806135b46035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146122695760405162461bcd60e51b815260040180806020018281038252602f815260200180613635602f913960400191505060405180910390fd5b61227161344e565b600080546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051939091169263a9059cbb92604480840193602093929083900390910190829087803b1580156122ca57600080fd5b505af11580156122de573d6000803e3d6000fd5b505050506040513d60208110156122f457600080fd5b505050565b600c546000905b600d548110156123dc57612312613552565b506000818152600b6020908152604091829020825180840190935280546001600160a01b0316808452600190910154918301919091523314156123d357602081015161236590849063ffffffff61302916565b6000838152600b6020908152604080832080546001600160a01b0319168155600101929092558351848201518351908152925193965085936001600160a01b03909116927f3aa2b18eace5e5727a4ab525921b9b0a1ca1afdb0f96b599e3ab2d76cb5e7f7292908290030190a35b50600101612300565b50600e546123f0908263ffffffff61308316565b600e553360009081526011602052604090205461241490829063ffffffff61302916565b336000908152601160205260408120559050806124625760405162461bcd60e51b81526004018080602001828103825260218152602001806136146021913960400191505060405180910390fd5b61246a61310a565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156124c957600080fd5b505af11580156124dd573d6000803e3d6000fd5b505050506040513d60208110156124f357600080fd5b5050604080513381526020810183905281517faf6ec623f558c7b3527ff6c9c09432c7d81a3d38bd2e1eaaee2efe7aac23c28b929181900390910190a150565b6000546001600160a01b031681565b60045481565b6000546001600160a01b031633146125915760405162461bcd60e51b815260040180806020018281038252602f815260200180613635602f913960400191505060405180910390fd5b60035460ff166125e8576040805162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea006002540110612643576040805162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b600354604080516101009092046001600160a01b03168252517f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7916020908290030190a160035461010090046001600160a01b0316ff5b6224ea0081565b6000546001600160a01b031633146126ea5760405162461bcd60e51b815260040180806020018281038252602f815260200180613635602f913960400191505060405180910390fd5b73__$5b1a0139898c1861867d128118276f8f0f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561272e57600080fd5b505af4158015612742573d6000803e3d6000fd5b505050506040513d602081101561275857600080fd5b505181116127975760405162461bcd60e51b81526004018080602001828103825260308152602001806136aa6030913960400191505060405180910390fd5b600f8190556040805182815290517fa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc542679181900360200190a150565b6127da613569565b60005b60095481101561174c57600981815481106127f457fe5b906000526020600020015482826018811061280b57fe5b60200201526001016127dd565b600b60205260009081526040902080546001909101546001600160a01b039091169082565b60105481565b60035460ff1681565b6000546001600160a01b031633146128955760405162461bcd60e51b815260040180806020018281038252602f815260200180613635602f913960400191505060405180910390fd5b60108190556040805182815290517fdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c82439181900360200190a150565b6000546001600160a01b031633146129195760405162461bcd60e51b815260040180806020018281038252602f815260200180613635602f913960400191505060405180910390fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b60035461010090046001600160a01b031681565b60116020526000908152604090205481565b6009818154811061299557fe5b600091825260209091200154905081565b600080612a366129b46109c4565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156129fd57600080fd5b505afa158015612a11573d6000803e3d6000fd5b505050506040513d6020811015612a2757600080fd5b5051849063ffffffff612fff16565b90506113e28161185f565b612a4961310a565b604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b0392909216916323b872dd916064808201926020929091908290030181600087803b158015612aa157600080fd5b505af1158015612ab5573d6000803e3d6000fd5b505050506040513d6020811015612acb57600080fd5b5050600f54811015612b545733600090815260116020526040902054612af7908263ffffffff61302916565b3360008181526011602090815260409182902093909355600f5481519283529282018490528181019290925290517fbc3a12638d840d60760c64b39c73985a6498cf6eb8176f124995b0e07236cbd29181900360600190a16115d5565b604080518082018252338082526020808301858152600d80546000908152600b8452869020945185546001600160a01b0319166001600160a01b039091161785559051600190940193909355915483518581529351909391927fd9acabe6e09d178728ba5c366661c5be0621b4770f216305b059ec175b37e0b4928290030190a3600d54612be990600163ffffffff61302916565b600d55600e54612bff908263ffffffff61302916565b600e5550565b601881565b6000624f4b5360e81b612c1b6109c4565b6001600160a01b0316629919c0826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612c5d57600080fd5b505afa158015612c71573d6000803e3d6000fd5b505050506040513d6020811015612c8757600080fd5b505115612cc9576040805162461bcd60e51b81526020600482015260196024820152600080516020613716833981519152604482015290519081900360640190fd5b6208aa8960eb1b612cd86109c4565b6001600160a01b0316629919c0826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612d1a57600080fd5b505afa158015612d2e573d6000803e3d6000fd5b505050506040513d6020811015612d4457600080fd5b505115612d86576040805162461bcd60e51b81526020600482015260196024820152600080516020613716833981519152604482015290519081900360640190fd5b60055460ff1615612dc85760405162461bcd60e51b815260040180806020018281038252603c8152602001806136da603c913960400191505060405180910390fd5b612dd06109c4565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612e1957600080fd5b505afa158015612e2d573d6000803e3d6000fd5b505050506040513d6020811015612e4357600080fd5b50518514612e825760405162461bcd60e51b815260040180806020018281038252602b815260200180613589602b913960400191505060405180910390fd5b612e8a6109c4565b6001600160a01b031663ac82f608624f4b5360e81b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612ed357600080fd5b505afa158015612ee7573d6000803e3d6000fd5b505050506040513d6020811015612efd57600080fd5b50518414612f3c5760405162461bcd60e51b815260040180806020018281038252602b8152602001806135e9602b913960400191505060405180910390fd5b612f44613301565b95945050505050565b600d5481565b6000828152600860205260408120546001600160a01b03168281612ff55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612fba578181015183820152602001612fa2565b50505050905090810190601f168015612fe75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5090505b92915050565b6000670de0b6b3a764000061301a848463ffffffff61348f16565b8161302157fe5b049392505050565b6000828201838110156113e2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000828211156130da576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006113e2826130fe85670de0b6b3a764000063ffffffff61348f16565b9063ffffffff6134e816565b6000610a156814de5b9d1a1bd554d160ba1b6040518060400160405280601981526020017f4d697373696e672053796e74686f555344206164647265737300000000000000815250612f53565b6000806131638361185f565b905061316d61310a565b600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905192909116916323b872dd916064808201926020929091908290030181600087803b1580156131ca57600080fd5b505af11580156131de573d6000803e3d6000fd5b505050506040513d60208110156131f457600080fd5b506131ff905061344e565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561325e57600080fd5b505af1158015613272573d6000803e3d6000fd5b505050506040513d602081101561328857600080fd5b50506040805160208101859052606081018390526080808252600490820152631bd554d160e21b60a082015260c0818301819052600390820152624f4b5360e81b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a192915050565b60008061330d346129a6565b600a546040519192506001600160a01b0316903480156108fc02916000818181858888f19350505050158015613347573d6000803e3d6000fd5b5061335061344e565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156133af57600080fd5b505af11580156133c3573d6000803e3d6000fd5b505050506040513d60208110156133d957600080fd5b50506040805134602082015260608101839052608080825260039082018190526208aa8960eb1b60a083015260c0828401819052820152624f4b5360e81b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a1905090565b6000610a15644f696b6f7360d81b604051806040016040528060158152602001744d697373696e67204f696b6f73206164647265737360581b815250612f53565b60008261349e57506000612ff9565b828202828482816134ab57fe5b04146113e25760405162461bcd60e51b81526004018080602001828103825260218152602001806136646021913960400191505060405180910390fd5b600080821161353e576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161354957fe5b04949350505050565b604080518082019091526000808252602082015290565b604051806103000160405280601890602082028038833950919291505056fe47756172616e74656564206574686572207261746520776f756c64206e6f74206265207265636569766564596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697047756172616e74656564206f696b6f73207261746520776f756c64206e6f74206265207265636569766564596f752068617665206e6f206465706f7369747320746f2077697468647261772e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745544820616d6f756e742061626f7665206d61784574685075726368617365206c696d69744d696e696d756d206465706f73697420616d6f756e74206d7573742062652067726561746572207468616e20554e49545468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656452617465207374616c65206f72206e6f7420612073796e74680000000000000047756172616e74656564207261746520776f756c64206e6f74206265207265636569766564a265627a7a72315820e1de8c3d89a9292afeb1f6127e04fea7936f0090e1a5ba8a10efb9af66fb34ae64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address payable",
							"name": "_fundsWallet",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "fromAddress",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromETHAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "ClearedDeposit",
					"type": "event",
					"signature": "0x6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "string",
							"name": "fromCurrency",
							"type": "string"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "string",
							"name": "toCurrency",
							"type": "string"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "Exchange",
					"type": "event",
					"signature": "0xdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newFundsWallet",
							"type": "address"
						}
					],
					"name": "FundsWalletUpdated",
					"type": "event",
					"signature": "0x4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MaxEthPurchaseUpdated",
					"type": "event",
					"signature": "0xdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c8243"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MinimumDepositAmountUpdated",
					"type": "event",
					"signature": "0xa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc54267"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "receiver",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "NonPayableContract",
					"type": "event",
					"signature": "0xf2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "SynthDeposit",
					"type": "event",
					"signature": "0xd9acabe6e09d178728ba5c366661c5be0621b4770f216305b059ec175b37e0b4"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minimum",
							"type": "uint256"
						}
					],
					"name": "SynthDepositNotAccepted",
					"type": "event",
					"signature": "0xbc3a12638d840d60760c64b39c73985a6498cf6eb8176f124995b0e07236cbd2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "SynthDepositRemoved",
					"type": "event",
					"signature": "0x3aa2b18eace5e5727a4ab525921b9b0a1ca1afdb0f96b599e3ab2d76cb5e7f72"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "SynthWithdrawal",
					"type": "event",
					"signature": "0xaf6ec623f558c7b3527ff6c9c09432c7d81a3d38bd2e1eaaee2efe7aac23c28b"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "depositEndIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfd12167f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "depositStartIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6d5ab4a9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "depositSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdc8fa6c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "deposits",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "user",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb02c43d0"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exchangeEtherForOKS",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x57ecb3ae"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "guaranteedEtherRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "guaranteedOikosRate",
							"type": "uint256"
						}
					],
					"name": "exchangeEtherForOKSAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xe77e9a50"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exchangeEtherForSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x1f930115"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "guaranteedRate",
							"type": "uint256"
						}
					],
					"name": "exchangeEtherForSynthsAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x0c928bc2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "synthAmount",
							"type": "uint256"
						}
					],
					"name": "exchangeSynthsForOKS",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5118fdbd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "synthAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "guaranteedRate",
							"type": "uint256"
						}
					],
					"name": "exchangeSynthsForOKSAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x76c27f8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fundsWallet",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2194f3a2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxEthPurchase",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb1338cc4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumDepositAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x080c279a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "oikosReceivedForEther",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6f99c0b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "oikosReceivedForSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2b02104a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_fundsWallet",
							"type": "address"
						}
					],
					"name": "setFundsWallet",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x64e39b87"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxEthPurchase",
							"type": "uint256"
						}
					],
					"name": "setMaxEthPurchase",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb7df172"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "setMinimumDepositAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaab483d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "smallDeposits",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6abb7c7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "synthsReceivedForEther",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0c928f05"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSellableDeposits",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4d0387fb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "withdrawMyDepositedSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x81b797dc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdrawOikos",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7abad8e3"
				}
			]
		},
		"BNBCollateral": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$cec307fc1ec24191cdc2df35c0a94c3a1c$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b505160960260085560408051630241ebdb60e61b8152905160649173__$cec307fc1ec24191cdc2df35c0a94c3a1c$__9163907af6c091600480820192602092909190829003018186803b158015620000c957600080fd5b505af4158015620000de573d6000803e3d6000fd5b505050506040513d6020811015620000f557600080fd5b5051600502816200010257fe5b04600955620001266301e133806009546200059360201b620023101790919060201c565b600a556103e873__$cec307fc1ec24191cdc2df35c0a94c3a1c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017157600080fd5b505af415801562000186573d6000803e3d6000fd5b505050506040513d60208110156200019d57600080fd5b505160050281620001aa57fe5b04600b5573__$cec307fc1ec24191cdc2df35c0a94c3a1c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f357600080fd5b505af415801562000208573d6000803e3d6000fd5b505050506040513d60208110156200021f57600080fd5b505161138802600c5560408051630241ebdb60e61b8152905173__$cec307fc1ec24191cdc2df35c0a94c3a1c$__9163907af6c0916004808301926020929190829003018186803b1580156200027457600080fd5b505af415801562000289573d6000803e3d6000fd5b505050506040513d6020811015620002a057600080fd5b5051600d556032600e55600f805460ff191690556040805160a0810182526b53797374656d53746174757360a01b81526829bcb73a3437a1272160b91b60208201526814de5b9d1a1bd554d160ba1b918101919091526411195c1bdd60da1b60608201526c45786368616e6765526174657360981b60808201526200032a906016906005620005ff565b503480156200033857600080fd5b506040516200376f3803806200376f833981810160405260408110156200035e57600080fd5b50805160209091015160408051610300810191829052829160169060189082845b8154815260200190600101908083116200037f57508793505050506001600160a01b038116620003f6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620004a1576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60016004556000546001600160a01b0316620004f8576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620005605760008282601881106200051457fe5b602002015114620005515760078282601881106200052e57fe5b602090810291909101518254600181018455600093845291909220015562000557565b62000560565b600101620004fb565b5050600580546001600160a01b0319166001600160a01b039290921691909117905550504262794a000160105562000662565b6000808211620005ea576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481620005f657fe5b04949350505050565b826018810192821562000630579160200282015b828111156200063057825182559160200191906001019062000613565b506200063e92915062000642565b5090565b6200065f91905b808211156200063e576000815560010162000649565b90565b6130fd80620006726000396000f3fe6080604052600436106102885760003560e01c80638c4638691161015a578063c6c9d828116100c1578063e3c1e58c1161007a578063e3c1e58c146109f8578063e40108ed14610a0d578063e5829d2014610a22578063ee5f3f5c14610a4c578063eea8f5da14610a61578063f53dfb8414610a7657610288565b8063c6c9d8281461092c578063cf09b4ae14610956578063d05951a01461096b578063dcaf9c4414610995578063e220a811146109aa578063e3235c91146109e357610288565b8063a2e1734211610113578063a2e17342146107cd578063a76cdfa5146107fd578063aa754a2a14610827578063ab49848c1461089d578063b410a034146108eb578063bb8c6d6c1461090057610288565b80638c463869146106a75780638da5cb5b146106e05780638fdc8f3b146106f557806391b4ded91461071f5780639f7d568814610734578063a1c515861461074957610288565b80634f069f66116101fe578063631e1444116101b7578063631e14441461058d5780636b231938146105c057806379ba5097146105c85780637c3a00fd146105dd5780637cc1f867146105f257806389c937de1461066e57610288565b80634f069f66146104a757806350e3b2e7146104d157806353a47bb7146104fb5780635c975abb146105105780635d1a2229146105395780635f84f3021461056357610288565b806323aa7f0f1161025057806323aa7f0f1461037957806327cff2e51461038e5780632f2bf15b146103c7578063361e20861461044a5780633be99e6f1461045f5780634189bb491461049257610288565b806304f3bcec1461028d578063089f7fb4146102be5780631474b279146103035780631627540c1461031857806316c38b3c1461034d575b600080fd5b34801561029957600080fd5b506102a2610aa0565b604080516001600160a01b039092168252519081900360200190f35b3480156102ca57600080fd5b506102f1600480360360208110156102e157600080fd5b50356001600160a01b0316610aaf565b60408051918252519081900360200190f35b34801561030f57600080fd5b506102f1610ac1565b34801561032457600080fd5b5061034b6004803603602081101561033b57600080fd5b50356001600160a01b0316610ac7565b005b34801561035957600080fd5b5061034b6004803603602081101561037057600080fd5b50351515610b64565b34801561038557600080fd5b506102f1610c1f565b34801561039a57600080fd5b506102f1600480360360408110156103b157600080fd5b506001600160a01b038135169060200135610c25565b3480156103d357600080fd5b506103fa600480360360208110156103ea57600080fd5b50356001600160a01b0316610c4e565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043657818101518382015260200161041e565b505050509050019250505060405180910390f35b34801561045657600080fd5b506102f1610e0e565b34801561046b57600080fd5b5061034b6004803603602081101561048257600080fd5b50356001600160a01b0316610e14565b34801561049e57600080fd5b506102f1610f82565b3480156104b357600080fd5b5061034b600480360360208110156104ca57600080fd5b5035610f88565b3480156104dd57600080fd5b5061034b600480360360208110156104f457600080fd5b503561100c565b34801561050757600080fd5b506102a2611090565b34801561051c57600080fd5b5061052561109f565b604080519115158252519081900360200190f35b34801561054557600080fd5b5061034b6004803603602081101561055c57600080fd5b50356110a8565b34801561056f57600080fd5b5061034b6004803603602081101561058657600080fd5b503561116e565b34801561059957600080fd5b50610525600480360360208110156105b057600080fd5b50356001600160a01b03166112fb565b6102f1611416565b3480156105d457600080fd5b5061034b6118ab565b3480156105e957600080fd5b506102f1611967565b3480156105fe57600080fd5b5061060761196d565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e0880152610100870152610120860152610140850152610160840152151561018083015251908190036101a00190f35b34801561067a57600080fd5b506102f16004803603604081101561069157600080fd5b506001600160a01b0381351690602001356119d8565b3480156106b357600080fd5b506102f1600480360360408110156106ca57600080fd5b506001600160a01b038135169060200135611a12565b3480156106ec57600080fd5b506102a2611a31565b34801561070157600080fd5b506102f16004803603602081101561071857600080fd5b5035611a40565b34801561072b57600080fd5b506102f1611a5a565b34801561074057600080fd5b506102f1611a60565b34801561075557600080fd5b506107826004803603604081101561076c57600080fd5b506001600160a01b038135169060200135611a66565b604080516001600160a01b0390991689526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b3480156107d957600080fd5b506102f1600480360360408110156107f057600080fd5b5080359060200135611aed565b34801561080957600080fd5b5061034b6004803603602081101561082057600080fd5b5035611b1b565b34801561083357600080fd5b506108606004803603604081101561084a57600080fd5b506001600160a01b038135169060200135611b9f565b604080516001600160a01b0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b3480156108a957600080fd5b506108b2611bfa565b604051808261030080838360005b838110156108d85781810151838201526020016108c0565b5050505090500191505060405180910390f35b3480156108f757600080fd5b506102f1611c40565b34801561090c57600080fd5b5061034b6004803603602081101561092357600080fd5b50351515611c65565b34801561093857600080fd5b506102f16004803603602081101561094f57600080fd5b5035611d50565b34801561096257600080fd5b506102f1611d6e565b34801561097757600080fd5b5061034b6004803603602081101561098e57600080fd5b5035611d74565b3480156109a157600080fd5b506102f1611eae565b3480156109b657600080fd5b5061034b600480360360408110156109cd57600080fd5b506001600160a01b038135169060200135611eb4565b3480156109ef57600080fd5b506102f161208c565b348015610a0457600080fd5b50610525612091565b348015610a1957600080fd5b506102f161209a565b348015610a2e57600080fd5b5061034b60048036036020811015610a4557600080fd5b50356120a0565b348015610a5857600080fd5b506102f16121b5565b348015610a6d57600080fd5b506102f16121bb565b348015610a8257600080fd5b506102f160048036036020811015610a9957600080fd5b50356121c1565b6005546001600160a01b031681565b60156020526000908152604090205481565b600e5481565b6000546001600160a01b03163314610b105760405162461bcd60e51b815260040180806020018281038252602f815260200180612f65602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000546001600160a01b03163314610bad5760405162461bcd60e51b815260040180806020018281038252602f815260200180612f65602f913960400191505060405180910390fd5b60035460ff1615158115151415610bc357610c1c565b6003805460ff1916821515179081905560ff1615610be057426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60125481565b6000610c2f612e2f565b610c3984846121e4565b9050610c44816122f5565b9150505b92915050565b6001600160a01b03811660009081526014602090815260408083208054825181850281018501909352808352606094859484015b82821015610cf35760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101610c82565b50505050905060608151604051908082528060200260200182016040528015610d26578160200160208202803883390190505b5090506000805b8351811015610d9457838181518110610d4257fe5b602002602001015160a0015160001415610d8c57838181518110610d6257fe5b602002602001015160800151838381518110610d7a57fe5b60209081029190910101526001909101905b600101610d2d565b50606081604051908082528060200260200182016040528015610dc1578160200160208202803883390190505b50905060005b82811015610e0257838181518110610ddb57fe5b6020026020010151828281518110610def57fe5b6020908102919091010152600101610dc7565b5093505050505b919050565b600b5481565b6000546001600160a01b03163314610e5d5760405162461bcd60e51b815260040180806020018281038252602f815260200180612f65602f913960400191505060405180910390fd5b600580546001600160a01b0319166001600160a01b03831617905560005b600754811015610f7e57600060078281548110610e9457fe5b600091825260209182902001546005546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b158015610f1e57600080fd5b505afa158015610f32573d6000803e3d6000fd5b505050506040513d6020811015610f4857600080fd5b505160009182526006602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610e7b565b5050565b60135481565b6000546001600160a01b03163314610fd15760405162461bcd60e51b815260040180806020018281038252602f815260200180612f65602f913960400191505060405180910390fd5b600c8190556040805182815290517fbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e59181900360200190a150565b6000546001600160a01b031633146110555760405162461bcd60e51b815260040180806020018281038252602f815260200180612f65602f913960400191505060405180910390fd5b600d8190556040805182815290517f8640e538c9503bd8d11554fc26280efe867c12195c0eee0aeede5f4a8d5288399181900360200190a150565b6001546001600160a01b031681565b60035460ff1681565b6000546001600160a01b031633146110f15760405162461bcd60e51b815260040180806020018281038252602f815260200180612f65602f913960400191505060405180910390fd5b6103e88082106111325760405162461bcd60e51b8152600401808060200182810382526025815260200180612ec36025913960400191505060405180910390fd5b600e8290556040805183815290517f59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b69181900360200190a15050565b6000546001600160a01b031633146111b75760405162461bcd60e51b815260040180806020018281038252602f815260200180612f65602f913960400191505060405180910390fd5b6301e1338081116111f95760405162461bcd60e51b81526004018080602001828103825260378152602001806130926037913960400191505060405180910390fd5b73__$cec307fc1ec24191cdc2df35c0a94c3a1c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561123d57600080fd5b505af4158015611251573d6000803e3d6000fd5b505050506040513d602081101561126757600080fd5b50518111156112a75760405162461bcd60e51b815260040180806020018281038252602581526020018061302f6025913960400191505060405180910390fd5b60098190556112c0816301e1338063ffffffff61231016565b600a5560095460408051918252517fa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d749181900360200190a150565b6005546000906001600160a01b0383811691161461131b57506000610e09565b60005b60075481101561140d5760006007828154811061133757fe5b6000918252602080832090910154808352600682526040928390205460055484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b15801561139d57600080fd5b505afa1580156113b1573d6000803e3d6000fd5b505050506040513d60208110156113c757600080fd5b50516001600160a01b03161415806113f457506000818152600660205260409020546001600160a01b0316155b1561140457600092505050610e09565b5060010161131e565b50600192915050565b60035460009060ff161561145b5760405162461bcd60e51b815260040180806020018281038252603c815260200180612ff3603c913960400191505060405180910390fd5b600480546001019081905561146e61237a565b6001600160a01b0316629919c06040518163ffffffff1660e01b815260040180806337a1272160e11b815250602001905060206040518083038186803b1580156114b757600080fd5b505afa1580156114cb573d6000803e3d6000fd5b505050506040513d60208110156114e157600080fd5b505115611535576040805162461bcd60e51b815260206004820152601d60248201527f426c6f636b6564206173206f424e422072617465206973207374616c65000000604482015290519081900360640190fd5b61153d6123cb565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561157557600080fd5b505afa158015611589573d6000803e3d6000fd5b50505050600d543410156115ce5760405162461bcd60e51b815260040180806020018281038252603e815260200180612fb5603e913960400191505060405180910390fd5b600f5460ff1615611626576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b600e5433600090815260146020526040902054106116755760405162461bcd60e51b8152600401808060200182810382526022815260200180612ee86022913960400191505060405180910390fd5b600061168034611a40565b9050600c5461169a8260115461241b90919063ffffffff16565b106116d65760405162461bcd60e51b8152600401808060200182810382526023815260200180612f0a6023913960400191505060405180910390fd5b6116de612475565b92506116e8612e2f565b506040805160c081018252338082523460208084019182528385018681524260608601908152608086018a8152600060a0880181815296815260148552978820805460018082018355918a5294909820875160069095020180546001600160a01b0319166001600160a01b039095169490941784559351968301969096555160028201559351600385015551600484015551600590920191909155601154611790908361241b565b60115561179b6124ad565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156117fa57600080fd5b505af115801561180e573d6000803e3d6000fd5b5050604080518781526020810186905281513394507f58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f93509081900390910190a2505060045481146118a7576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5090565b6001546001600160a01b031633146118f45760405162461bcd60e51b8152600401808060200182810382526035815260200180612e8e6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b60085460008080808080808080808080611985611c40565b9b506009549a50600a549950600b549850600c549750600d5496506011549550601254945060135493504792506010549150600f60009054906101000a900460ff169050909192939495969798999a9b9c565b60006119e2612e2f565b6119ec84846121e4565b905060006119f9826124fa565b9050611a09826040015182611aed565b95945050505050565b6000611a1c612e2f565b611a2684846121e4565b9050610c44816124fa565b6000546001600160a01b031681565b6000610c48611a4d611c40565b839063ffffffff61253d16565b60025481565b60105481565b600080600080600080600080611a7a612e2f565b611a848b8b6121e4565b8051602082015160408301516060840151608085015160a0860151949e50929c50909a509850965094509050611ac287611abd836124fa565b611aed565b9250611add611ad0826122f5565b849063ffffffff61241b16565b9150509295985092959890939650565b6000611b14611b0783600a5461256790919063ffffffff16565b849063ffffffff6125c016565b9392505050565b6000546001600160a01b03163314611b645760405162461bcd60e51b815260040180806020018281038252602f815260200180612f65602f913960400191505060405180910390fd5b600b8190556040805182815290517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c9181900360200190a150565b60146020528160005260406000208181548110611bb857fe5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501546001600160a01b03909416965091945092909186565b611c02612e6e565b60005b6007548110156118a75760078181548110611c1c57fe5b9060005260206000200154828260188110611c3357fe5b6020020152600101611c05565b6000611c6060085468056bc75e2d631000006125d590919063ffffffff16565b905090565b6000546001600160a01b03163314611cae5760405162461bcd60e51b815260040180806020018281038252602f815260200180612f65602f913960400191505060405180910390fd5b6010544211611d04576040805162461bcd60e51b815260206004820152601b60248201527f4265666f7265206c69717569646174696f6e20646561646c696e650000000000604482015290519081900360640190fd5b600f805460ff191682151517908190556040805160ff90921615158252517faa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567916020908290030190a150565b60078181548110611d5d57fe5b600091825260209091200154905081565b600d5481565b6004805460010190819055611d8761237a565b6001600160a01b0316629919c06040518163ffffffff1660e01b815260040180806337a1272160e11b815250602001905060206040518083038186803b158015611dd057600080fd5b505afa158015611de4573d6000803e3d6000fd5b505050506040513d6020811015611dfa57600080fd5b505115611e4e576040805162461bcd60e51b815260206004820152601d60248201527f426c6f636b6564206173206f424e422072617465206973207374616c65000000604482015290519081900360640190fd5b611e5833836125ea565b6004548114610f7e576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60085481565b6004805460010190819055611ec761237a565b6001600160a01b0316629919c06040518163ffffffff1660e01b815260040180806337a1272160e11b815250602001905060206040518083038186803b158015611f1057600080fd5b505afa158015611f24573d6000803e3d6000fd5b505050506040513d6020811015611f3a57600080fd5b505115611f8e576040805162461bcd60e51b815260206004820152601d60248201527f426c6f636b6564206173206f424e422072617465206973207374616c65000000604482015290519081900360640190fd5b600f5460ff16611fe5576040805162461bcd60e51b815260206004820152601760248201527f4c69717569646174696f6e206973206e6f74206f70656e000000000000000000604482015290519081900360640190fd5b611fef83836125ea565b6040805183815233602082015281516001600160a01b038616927fde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38928290030190a26004548114612087576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b601881565b600f5460ff1681565b600a5481565b6000546001600160a01b031633146120e95760405162461bcd60e51b815260040180806020018281038252602f815260200180612f65602f913960400191505060405180910390fd5b683635c9adc5dea00000811115612132576040805162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015290519081900360640190fd5b68056bc75e2d6310000081101561217a576040805162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b604482015290519081900360640190fd5b60088190556040805182815290517ffb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce078695309181900360200190a150565b60115481565b600c5481565b6000610c48611a4d68056bc75e2d631000006008546125d590919063ffffffff16565b6121ec612e2f565b6001600160a01b0383166000908152601460209081526040808320805482518185028101850190935280835260609492939192909184015b828210156122955760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101612224565b509293506000925050505b81518110156122ed57838282815181106122b657fe5b60200260200101516080015114156122e5578181815181106122d457fe5b602002602001015192505050610c48565b6001016122a0565b505092915050565b6000610c48600b5483604001516125c090919063ffffffff16565b6000808211612366576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161237157fe5b04949350505050565b6000611c606c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676552617465732061646472657373000000815250612b97565b6000611c606b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250612b97565b600082820183811015611b14576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60135460009061248c90600163ffffffff61241b16565b6013556012546124a390600163ffffffff61241b16565b6012819055905090565b6000611c606829bcb73a3437a1272160b91b6040518060400160405280601981526020017f4d697373696e672053796e74686f424e42206164647265737300000000000000815250612b97565b60a081015160009015158061252457606083015161251f90429063ffffffff612c4116565b611b14565b606083015160a0840151611b149163ffffffff612c4116565b6000670de0b6b3a7640000612558848463ffffffff61256716565b8161255f57fe5b049392505050565b60008261257657506000610c48565b8282028284828161258357fe5b0414611b145760405162461bcd60e51b8152600401808060200182810382526021815260200180612f946021913960400191505060405180910390fd5b6000611b148383670de0b6b3a7640000612c9e565b6000611b148383670de0b6b3a7640000612cdb565b6125f26123cb565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561262a57600080fd5b505afa15801561263e573d6000803e3d6000fd5b5050505061264a612e2f565b61265483836121e4565b905060008160800151116126a5576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b60a0810151156126f2576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88185b1c9958591e4818db1bdcd959606a1b604482015290519081900360640190fd5b80604001516126ff6124ad565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561275457600080fd5b505afa158015612768573d6000803e3d6000fd5b505050506040513d602081101561277e57600080fd5b505110156127bd5760405162461bcd60e51b815260040180806020018281038252603e815260200180613054603e913960400191505060405180910390fd5b6127c681612d0d565b60408101516011546127dd9163ffffffff612c4116565b60115560408101516000906127f590611abd846124fa565b90506000612802836122f5565b90506000612816838363ffffffff61241b16565b90506128206124ad565b6001600160a01b0316639dc29fac3386604001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561288357600080fd5b505af1158015612897573d6000803e3d6000fd5b50505050806128a4612da1565b6001600160a01b03166370a082316128ba612dee565b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561290057600080fd5b505afa158015612914573d6000803e3d6000fd5b505050506040513d602081101561292a57600080fd5b505110156129695760405162461bcd60e51b8152600401808060200182810382526038815260200180612f2d6038913960400191505060405180910390fd5b612971612dee565b6001600160a01b0316631f930115826040518263ffffffff1660e01b81526004016020604051808303818588803b1580156129ab57600080fd5b505af11580156129bf573d6000803e3d6000fd5b50505050506040513d60208110156129d657600080fd5b506129e19050612da1565b6001600160a01b031663a9059cbb73feefeefeefeefeefeefeefeefeefeefeefeefeef612a0c612da1565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612a6157600080fd5b505afa158015612a75573d6000803e3d6000fd5b505050506040513d6020811015612a8b57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b158015612adc57600080fd5b505af1158015612af0573d6000803e3d6000fd5b505050506040513d6020811015612b0657600080fd5b5050602084015133906108fc90612b23908463ffffffff612c4116565b6040518115909202916000818181858888f19350505050158015612b4b573d6000803e3d6000fd5b50604080518681526020810183905281516001600160a01b038916927f3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e928290030190a2505050505050565b6000828152600660205260408120546001600160a01b03168281612c395760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612bfe578181015183820152602001612be6565b50505050905090810190601f168015612c2b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600082821115612c98576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080600a8304612cb5868663ffffffff61256716565b81612cbc57fe5b0490506005600a825b0610612ccf57600a015b600a9004949350505050565b600080612d0184612cf587600a870263ffffffff61256716565b9063ffffffff61231016565b90506005600a82612cc5565b80516001600160a01b03166000908152601460205260408120905b8154811015612d85578260800151828281548110612d4257fe5b9060005260206000209060060201600401541415612d7d5742828281548110612d6757fe5b9060005260206000209060060201600501819055505b600101612d28565b50601354612d9a90600163ffffffff612c4116565b6013555050565b6000611c606814de5b9d1a1bd554d160ba1b6040518060400160405280601981526020017f4d697373696e672053796e74686f555344206164647265737300000000000000815250612b97565b6000611c606411195c1bdd60da1b604051806040016040528060158152602001744d697373696e67204465706f74206164647265737360581b815250612b97565b6040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f776e65722063616e6e6f742073657420686967686572207468616e20484152445f43415045616368206163636f756e74206973206c696d74656420746f203530206c6f616e734c6f616e20416d6f756e7420657863656564732074686520737570706c79206361702e546865206f555344204465706f7420646f6573206e6f74206861766520656e6f756768206f55534420746f2062757920666f7220666565734f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f7567682045544820746f206372656174652074686973206c6f616e2e20506c656173652073656520746865206d696e4c6f616e53697a655468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564496e7465726573742063616e6e6f74206265206d6f7265207468616e203130302520415052596f7520646f206e6f742068617665207468652072657175697265642053796e74682062616c616e636520746f20636c6f73652074686973206c6f616e2e496e74657265737420726174652063616e6e6f74206265206c657373207468617420746865205345434f4e44535f494e5f415f59454152a265627a7a72315820c3be57e52b42500be4f72abc53f40cf8f9ae70523696328addfc07270c11898764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanLimit",
							"type": "uint256"
						}
					],
					"name": "AccountLoanLimitUpdated",
					"type": "event",
					"signature": "0x59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "CollateralizationRatioUpdated",
					"type": "event",
					"signature": "0xfb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce07869530"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interestRate",
							"type": "uint256"
						}
					],
					"name": "InterestRateUpdated",
					"type": "event",
					"signature": "0xa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d74"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueLimit",
							"type": "uint256"
						}
					],
					"name": "IssueLimitUpdated",
					"type": "event",
					"signature": "0xbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feesPaid",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0x3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "LoanLiquidated",
					"type": "event",
					"signature": "0xde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "LoanLiquidationOpenUpdated",
					"type": "event",
					"signature": "0xaa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minLoanSize",
							"type": "uint256"
						}
					],
					"name": "MinLoanSizeUpdated",
					"type": "event",
					"signature": "0x8640e538c9503bd8d11554fc26280efe867c12195c0eee0aeede5f4a8d528839"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountLoanLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1474b279"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accountOpenLoanCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x089f7fb4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountsSynthLoans",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaa754a2a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "accruedInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa2e17342"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "calculateMintingFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x27cff2e5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "closeLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd05951a0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						}
					],
					"name": "collateralAmountForLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf53dfb84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralizationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdcaf9c44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "currentInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89c937de"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getContractInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "_collateralizationRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestPerSecond",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minLoanSize",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalIssuedSynths",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalLoansCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalOpenLoanCount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_ethBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_liquidationDeadline",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7cc1f867"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoan",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "interest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalFees",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa1c51586"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestPerSecond",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe40108ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c3a00fd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeea8f5da"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "liquidateUnclosedLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe220a811"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDeadline",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f7d5688"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						}
					],
					"name": "loanAmountFromCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8fdc8f3b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "loanLifeSpan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanLifeSpanResult",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8c463869"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "loanLiquidationOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c1e58c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minLoanSize",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcf09b4ae"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "openLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x6b231938"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "openLoanIDsByAccount",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f2bf15b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanLimit",
							"type": "uint256"
						}
					],
					"name": "setAccountLoanLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5d1a2229"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "setCollateralizationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe5829d20"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						}
					],
					"name": "setInterestRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5f84f302"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						}
					],
					"name": "setIssueLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4f069f66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "setLoanLiquidationOpen",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb8c6d6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minLoanSize",
							"type": "uint256"
						}
					],
					"name": "setMinLoanSize",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x50e3b2e7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee5f3f5c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLoansCreated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23aa7f0f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalOpenLoanCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4189bb49"
				}
			]
		}
	}
}
