{
	"targets": {
		"SafeDecimalMath": {
			"name": "SafeDecimalMath",
			"address": "0xAF1Da3c6FFd3644fd552048D7eF37B3F3594bed8",
			"source": "SafeDecimalMath",
			"link": "https://shibuya.etherscan.io/address/0xAF1Da3c6FFd3644fd552048D7eF37B3F3594bed8",
			"timestamp": "2021-10-21T01:42:25.090Z",
			"txn": "",
			"network": "shibuya"
		},
		"Math": {
			"name": "Math",
			"address": "0xeA3306b1D7c54c8cCc14A915cF9A7729e3f35144",
			"source": "Math",
			"link": "https://shibuya.etherscan.io/address/0xeA3306b1D7c54c8cCc14A915cF9A7729e3f35144",
			"timestamp": "2021-10-21T01:42:48.410Z",
			"txn": "",
			"network": "shibuya"
		},
		"AddressResolver": {
			"name": "AddressResolver",
			"address": "0x1C96EA784280040Eaf570b75B2Eb573B0E6b6c2a",
			"source": "AddressResolver",
			"link": "https://shibuya.etherscan.io/address/0x1C96EA784280040Eaf570b75B2Eb573B0E6b6c2a",
			"timestamp": "2021-10-21T01:43:24.928Z",
			"txn": "",
			"network": "shibuya"
		},
		"ReadProxyAddressResolver": {
			"name": "ReadProxyAddressResolver",
			"address": "0x7C35b48c49815141FEeEEC296178f4565FAd0F04",
			"source": "ReadProxy",
			"link": "https://shibuya.etherscan.io/address/0x7C35b48c49815141FEeEEC296178f4565FAd0F04",
			"timestamp": "2021-10-21T01:43:48.303Z",
			"txn": "",
			"network": "shibuya"
		},
		"FlexibleStorage": {
			"name": "FlexibleStorage",
			"address": "0xb0f250e0B5FF784208829A5f33B159e11bc0c1a4",
			"source": "FlexibleStorage",
			"link": "https://shibuya.etherscan.io/address/0xb0f250e0B5FF784208829A5f33B159e11bc0c1a4",
			"timestamp": "2021-10-21T01:44:37.205Z",
			"txn": "",
			"network": "shibuya"
		},
		"SystemSettings": {
			"name": "SystemSettings",
			"address": "0x1e2510Af77a11f401799197b136CcFec4dd4e2d5",
			"source": "SystemSettings",
			"link": "https://shibuya.etherscan.io/address/0x1e2510Af77a11f401799197b136CcFec4dd4e2d5",
			"timestamp": "2021-10-21T01:45:00.752Z",
			"txn": "",
			"network": "shibuya"
		},
		"SystemStatus": {
			"name": "SystemStatus",
			"address": "0xa33D55a51f4E7834C42C082f31113AEB3ce4F349",
			"source": "SystemStatus",
			"link": "https://shibuya.etherscan.io/address/0xa33D55a51f4E7834C42C082f31113AEB3ce4F349",
			"timestamp": "2021-10-21T01:45:25.158Z",
			"txn": "",
			"network": "shibuya"
		},
		"ExchangeRates": {
			"name": "ExchangeRates",
			"address": "0x1e218F9B577bB708577B1B0f1282fDC84905a54C",
			"source": "ExchangeRates",
			"link": "https://shibuya.etherscan.io/address/0x1e218F9B577bB708577B1B0f1282fDC84905a54C",
			"timestamp": "2021-10-21T01:46:13.034Z",
			"txn": "",
			"network": "shibuya"
		},
		"RewardEscrow": {
			"name": "RewardEscrow",
			"address": "0x30EBBd2310dA6fFe90650B505483382C9df31A38",
			"source": "RewardEscrow",
			"link": "https://shibuya.etherscan.io/address/0x30EBBd2310dA6fFe90650B505483382C9df31A38",
			"timestamp": "2021-10-21T01:52:12.972Z",
			"txn": "",
			"network": "shibuya"
		},
		"RewardEscrowV2": {
			"name": "RewardEscrowV2",
			"address": "0xF6A23ef0f31133c3876e6A1FFD30a628d5921e8d",
			"source": "RewardEscrowV2",
			"link": "https://shibuya.etherscan.io/address/0xF6A23ef0f31133c3876e6A1FFD30a628d5921e8d",
			"timestamp": "2021-10-21T01:52:36.548Z",
			"txn": "",
			"network": "shibuya"
		},
		"PeriFinanceEscrow": {
			"name": "PeriFinanceEscrow",
			"address": "0xe2d69C82176Ae2acF2aE38370b7E7A970C927936",
			"source": "PeriFinanceEscrow",
			"link": "https://shibuya.etherscan.io/address/0xe2d69C82176Ae2acF2aE38370b7E7A970C927936",
			"timestamp": "2021-10-21T01:53:00.972Z",
			"txn": "",
			"network": "shibuya"
		},
		"PeriFinanceState": {
			"name": "PeriFinanceState",
			"address": "0xD6832622f9a61689f066D492E8B014ba86F30Df0",
			"source": "PeriFinanceState",
			"link": "https://shibuya.etherscan.io/address/0xD6832622f9a61689f066D492E8B014ba86F30Df0",
			"timestamp": "2021-10-21T01:53:25.329Z",
			"txn": "",
			"network": "shibuya"
		},
		"ProxyFeePool": {
			"name": "ProxyFeePool",
			"address": "0xFaBF9E9A6DBe699Fb7136C46233fC4432F5587F9",
			"source": "Proxy",
			"link": "https://shibuya.etherscan.io/address/0xFaBF9E9A6DBe699Fb7136C46233fC4432F5587F9",
			"timestamp": "2021-10-21T01:53:48.680Z",
			"txn": "",
			"network": "shibuya"
		},
		"DelegateApprovalsEternalStorage": {
			"name": "DelegateApprovalsEternalStorage",
			"address": "0xAE94b6046c86C10A15746487d296104380e71C64",
			"source": "EternalStorage",
			"link": "https://shibuya.etherscan.io/address/0xAE94b6046c86C10A15746487d296104380e71C64",
			"timestamp": "2021-10-21T01:54:13.049Z",
			"txn": "",
			"network": "shibuya"
		},
		"DelegateApprovals": {
			"name": "DelegateApprovals",
			"address": "0xd9B031639A7b5b824a50DECA3895E93Eea8c5605",
			"source": "DelegateApprovals",
			"link": "https://shibuya.etherscan.io/address/0xd9B031639A7b5b824a50DECA3895E93Eea8c5605",
			"timestamp": "2021-10-21T01:54:37.382Z",
			"txn": "",
			"network": "shibuya"
		},
		"Liquidations": {
			"name": "Liquidations",
			"address": "0xF94f0B1dD5EBE608bc240729307Ae57dc0b79E62",
			"source": "Liquidations",
			"link": "https://shibuya.etherscan.io/address/0xF94f0B1dD5EBE608bc240729307Ae57dc0b79E62",
			"timestamp": "2021-10-21T01:55:25.087Z",
			"txn": "",
			"network": "shibuya"
		},
		"EternalStorageLiquidations": {
			"name": "EternalStorageLiquidations",
			"address": "0x8Ae6541801639F801E0963774979AE61eEc99288",
			"source": "EternalStorage",
			"link": "https://shibuya.etherscan.io/address/0x8Ae6541801639F801E0963774979AE61eEc99288",
			"timestamp": "2021-10-21T01:55:48.478Z",
			"txn": "",
			"network": "shibuya"
		},
		"FeePoolEternalStorage": {
			"name": "FeePoolEternalStorage",
			"address": "0x4a610980548aAA0B9A1525413dBb6aAe69bBebD7",
			"source": "FeePoolEternalStorage",
			"link": "https://shibuya.etherscan.io/address/0x4a610980548aAA0B9A1525413dBb6aAe69bBebD7",
			"timestamp": "2021-10-21T01:56:12.901Z",
			"txn": "",
			"network": "shibuya"
		},
		"FeePool": {
			"name": "FeePool",
			"address": "0xEA19bf1959f293781c6DeFed47BFC011D8F1659E",
			"source": "FeePool",
			"link": "https://shibuya.etherscan.io/address/0xEA19bf1959f293781c6DeFed47BFC011D8F1659E",
			"timestamp": "2021-10-21T01:56:37.388Z",
			"txn": "",
			"network": "shibuya"
		},
		"FeePoolState": {
			"name": "FeePoolState",
			"address": "0x2E20C452e318cAce3EaB494bf668f98957e18c36",
			"source": "FeePoolState",
			"link": "https://shibuya.etherscan.io/address/0x2E20C452e318cAce3EaB494bf668f98957e18c36",
			"timestamp": "2021-10-21T01:58:00.566Z",
			"txn": "",
			"network": "shibuya"
		},
		"RewardsDistribution": {
			"name": "RewardsDistribution",
			"address": "0xd9CeDA39400A865e287F7EA5708760c6432f8329",
			"source": "RewardsDistribution",
			"link": "https://shibuya.etherscan.io/address/0xd9CeDA39400A865e287F7EA5708760c6432f8329",
			"timestamp": "2021-10-21T01:58:24.988Z",
			"txn": "",
			"network": "shibuya"
		},
		"ProxyERC20": {
			"name": "ProxyERC20",
			"address": "0x0715b08FB91F626f4eBF77D8EB4D81Cedaa5BF52",
			"source": "ProxyERC20",
			"link": "https://shibuya.etherscan.io/address/0x0715b08FB91F626f4eBF77D8EB4D81Cedaa5BF52",
			"timestamp": "2021-10-21T01:58:48.359Z",
			"txn": "",
			"network": "shibuya"
		},
		"TokenStatePeriFinance": {
			"name": "TokenStatePeriFinance",
			"address": "0x0f9632e71b161CF4891868F83392E8b81fDbDAc6",
			"source": "TokenState",
			"link": "https://shibuya.etherscan.io/address/0x0f9632e71b161CF4891868F83392E8b81fDbDAc6",
			"timestamp": "2021-10-21T01:59:12.676Z",
			"txn": "",
			"network": "shibuya"
		},
		"BlacklistManager": {
			"name": "BlacklistManager",
			"address": "0x331edE30931742b03f41705f07f507129B5a1dDb",
			"source": "BlacklistManager",
			"link": "https://shibuya.etherscan.io/address/0x331edE30931742b03f41705f07f507129B5a1dDb",
			"timestamp": "2021-10-21T01:59:37.015Z",
			"txn": "",
			"network": "shibuya"
		},
		"DebtCache": {
			"name": "DebtCache",
			"address": "0x4ADd9A38918951BB500c943F0f3B129EfF69b6Ea",
			"source": "DebtCache",
			"link": "https://shibuya.etherscan.io/address/0x4ADd9A38918951BB500c943F0f3B129EfF69b6Ea",
			"timestamp": "2021-12-01T02:09:10.642Z",
			"txn": "",
			"network": "shibuya"
		},
		"MultiChainDebtShareState": {
			"name": "MultiChainDebtShareState",
			"address": "0x31c4179ccF7401232699823B9928e45F16Da5504",
			"source": "MultiChainDebtShareState",
			"link": "https://shibuya.etherscan.io/address/0x31c4179ccF7401232699823B9928e45F16Da5504",
			"timestamp": "2021-10-21T02:00:24.859Z",
			"txn": "",
			"network": "shibuya"
		},
		"MultiChainDebtShareManager": {
			"name": "MultiChainDebtShareManager",
			"address": "0x5B796362DFC32DAfE28B6A0D86d1B9Ed05E8e3Ee",
			"source": "MultiChainDebtShareManager",
			"link": "https://shibuya.etherscan.io/address/0x5B796362DFC32DAfE28B6A0D86d1B9Ed05E8e3Ee",
			"timestamp": "2021-11-15T06:29:00.318Z",
			"txn": "",
			"network": "shibuya"
		},
		"Exchanger": {
			"name": "Exchanger",
			"address": "0xDb5551443125Edb5B82668d20C738b7F573A4450",
			"source": "ExchangerWithVirtualPynth",
			"link": "https://shibuya.etherscan.io/address/0xDb5551443125Edb5B82668d20C738b7F573A4450",
			"timestamp": "2021-10-21T02:01:49.056Z",
			"txn": "",
			"network": "shibuya"
		},
		"ExchangeState": {
			"name": "ExchangeState",
			"address": "0x7C4f43ea5f9d0599DB160364A3552b4d082c2511",
			"source": "ExchangeState",
			"link": "https://shibuya.etherscan.io/address/0x7C4f43ea5f9d0599DB160364A3552b4d082c2511",
			"timestamp": "2021-10-21T02:02:13.369Z",
			"txn": "",
			"network": "shibuya"
		},
		"Issuer": {
			"name": "Issuer",
			"address": "0x709162E6f7b4b38D1d34c4b7BEA6dB90511908CA",
			"source": "Issuer",
			"link": "https://shibuya.etherscan.io/address/0x709162E6f7b4b38D1d34c4b7BEA6dB90511908CA",
			"timestamp": "2021-12-01T02:21:06.812Z",
			"txn": "",
			"network": "shibuya"
		},
		"TradingRewards": {
			"name": "TradingRewards",
			"address": "0x1947CBF7860a9994C0024a5fA046059A8F9aaB54",
			"source": "TradingRewards",
			"link": "https://shibuya.etherscan.io/address/0x1947CBF7860a9994C0024a5fA046059A8F9aaB54",
			"timestamp": "2021-10-21T02:03:42.340Z",
			"txn": "",
			"network": "shibuya"
		},
		"EscrowChecker": {
			"name": "EscrowChecker",
			"address": "0x5763b9BdF08565B571E8Bfd9B761c735B53Af826",
			"source": "EscrowChecker",
			"link": "https://shibuya.etherscan.io/address/0x5763b9BdF08565B571E8Bfd9B761c735B53Af826",
			"timestamp": "2021-10-21T02:04:31.139Z",
			"txn": "",
			"network": "shibuya"
		},
		"SupplySchedule": {
			"name": "SupplySchedule",
			"address": "0x83Fa2a39EFB745E5b667b3BCd30A6c76c6413655",
			"source": "SupplySchedule",
			"link": "https://shibuya.etherscan.io/address/0x83Fa2a39EFB745E5b667b3BCd30A6c76c6413655",
			"timestamp": "2021-10-21T02:05:18.851Z",
			"txn": "",
			"network": "shibuya"
		},
		"TokenStatepUSD": {
			"name": "TokenStatepUSD",
			"address": "0x6FD8A69F7d86FB632315bAE5eb6886c773cEf997",
			"source": "TokenState",
			"link": "https://shibuya.etherscan.io/address/0x6FD8A69F7d86FB632315bAE5eb6886c773cEf997",
			"timestamp": "2021-10-21T02:06:06.652Z",
			"txn": "",
			"network": "shibuya"
		},
		"ProxyERC20pUSD": {
			"name": "ProxyERC20pUSD",
			"address": "0x3599E1F5DCCC991e0B3dbAdfd2A10543551ED95a",
			"source": "ProxyERC20",
			"link": "https://shibuya.etherscan.io/address/0x3599E1F5DCCC991e0B3dbAdfd2A10543551ED95a",
			"timestamp": "2021-10-21T02:06:24.945Z",
			"txn": "",
			"network": "shibuya"
		},
		"PeriFinance": {
			"name": "PeriFinance",
			"address": "0x21f0f3305Fc99Bb70796BA1D8e0ae4627BFdF913",
			"source": "PeriFinance",
			"link": "https://shibuya.etherscan.io/address/0x21f0f3305Fc99Bb70796BA1D8e0ae4627BFdF913",
			"timestamp": "2021-12-01T02:07:53.314Z",
			"txn": "",
			"network": "shibuya"
		},
		"PynthpUSD": {
			"name": "PynthpUSD",
			"address": "0x5289fb86C93306433Fb7Ffe790F19a2670f28Cf0",
			"source": "MultiCollateralPynth",
			"link": "https://shibuya.etherscan.io/address/0x5289fb86C93306433Fb7Ffe790F19a2670f28Cf0",
			"timestamp": "2021-12-01T02:41:48.802Z",
			"txn": "",
			"network": "shibuya"
		},
		"TokenStatepBTC": {
			"name": "TokenStatepBTC",
			"address": "0x00DAd8920CaA614825124f1AB063124023E47e13",
			"source": "TokenState",
			"link": "https://shibuya.etherscan.io/address/0x00DAd8920CaA614825124f1AB063124023E47e13",
			"timestamp": "2021-10-21T02:12:12.776Z",
			"txn": "",
			"network": "shibuya"
		},
		"ProxyERC20pBTC": {
			"name": "ProxyERC20pBTC",
			"address": "0x553431f9765fa8b476217A644f4c7e222FebDA6B",
			"source": "ProxyERC20",
			"link": "https://shibuya.etherscan.io/address/0x553431f9765fa8b476217A644f4c7e222FebDA6B",
			"timestamp": "2021-10-21T02:12:37.173Z",
			"txn": "",
			"network": "shibuya"
		},
		"PynthpBTC": {
			"name": "PynthpBTC",
			"address": "0x10A6082eEF05cCaB488dFfBc967fE37784eF6Af2",
			"source": "MultiCollateralPynth",
			"link": "https://shibuya.etherscan.io/address/0x10A6082eEF05cCaB488dFfBc967fE37784eF6Af2",
			"timestamp": "2021-10-21T02:13:00.559Z",
			"txn": "",
			"network": "shibuya"
		},
		"TokenStatepETH": {
			"name": "TokenStatepETH",
			"address": "0xb88EdB0e2A2b9159A9B8e9145b57A76234B8d8a0",
			"source": "TokenState",
			"link": "https://shibuya.etherscan.io/address/0xb88EdB0e2A2b9159A9B8e9145b57A76234B8d8a0",
			"timestamp": "2021-10-21T02:14:12.673Z",
			"txn": "",
			"network": "shibuya"
		},
		"ProxyERC20pETH": {
			"name": "ProxyERC20pETH",
			"address": "0x58Eff2F9448EaD669d5e542f4dAd42019D9d4e17",
			"source": "ProxyERC20",
			"link": "https://shibuya.etherscan.io/address/0x58Eff2F9448EaD669d5e542f4dAd42019D9d4e17",
			"timestamp": "2021-10-21T02:14:37.046Z",
			"txn": "",
			"network": "shibuya"
		},
		"PynthpETH": {
			"name": "PynthpETH",
			"address": "0x66855FD4B38A71B6cB74E34958223cc7611BB210",
			"source": "MultiCollateralPynth",
			"link": "https://shibuya.etherscan.io/address/0x66855FD4B38A71B6cB74E34958223cc7611BB210",
			"timestamp": "2021-10-21T02:15:00.442Z",
			"txn": "",
			"network": "shibuya"
		},
		"USDC": {
			"name": "USDC",
			"address": "0xa6bEF2115B3a9EF9E00EF8162a24f866F9F50118",
			"source": "MockToken",
			"link": "https://shibuya.etherscan.io/address/0xa6bEF2115B3a9EF9E00EF8162a24f866F9F50118",
			"timestamp": "2021-10-21T02:16:24.660Z",
			"txn": "",
			"network": "shibuya"
		},
		"DAI": {
			"name": "DAI",
			"address": "0xf9f6A3D3ED2b12483e271D92F68FcbC716BEba9F",
			"source": "MockToken",
			"link": "https://shibuya.etherscan.io/address/0xf9f6A3D3ED2b12483e271D92F68FcbC716BEba9F",
			"timestamp": "2021-10-21T02:16:48.993Z",
			"txn": "",
			"network": "shibuya"
		},
		"StakingState": {
			"name": "StakingState",
			"address": "0x223bBb9cA91841BD12C8eA0Ce63026DBDe4D537d",
			"source": "StakingState",
			"link": "https://shibuya.etherscan.io/address/0x223bBb9cA91841BD12C8eA0Ce63026DBDe4D537d",
			"timestamp": "2021-10-21T02:17:13.460Z",
			"txn": "",
			"network": "shibuya"
		},
		"ExternalTokenStakeManager": {
			"name": "ExternalTokenStakeManager",
			"address": "0x9add53ef5B0f5c479732F5124b4aa7b37e0D96f0",
			"source": "ExternalTokenStakeManager",
			"link": "https://shibuya.etherscan.io/address/0x9add53ef5B0f5c479732F5124b4aa7b37e0D96f0",
			"timestamp": "2021-12-01T06:20:18.658Z",
			"txn": "",
			"network": "shibuya"
		},
		"Depot": {
			"name": "Depot",
			"address": "0x48268Cb536A02052EE969D1BFb55B36E32B7Db2e",
			"source": "Depot",
			"link": "https://shibuya.etherscan.io/address/0x48268Cb536A02052EE969D1BFb55B36E32B7Db2e",
			"timestamp": "2021-10-21T02:19:12.805Z",
			"txn": "",
			"network": "shibuya"
		},
		"EtherCollateral": {
			"name": "EtherCollateral",
			"address": "0x5b918EaE8FDe8dCEcDe2361F0D37bd60e6BAf835",
			"source": "EtherCollateral",
			"link": "https://shibuya.etherscan.io/address/0x5b918EaE8FDe8dCEcDe2361F0D37bd60e6BAf835",
			"timestamp": "2021-10-21T02:19:25.285Z",
			"txn": "",
			"network": "shibuya"
		},
		"EtherCollateralpUSD": {
			"name": "EtherCollateralpUSD",
			"address": "0x15E3579C3480b0b3349450178F00a40E76352E5D",
			"source": "EtherCollateralpUSD",
			"link": "https://shibuya.etherscan.io/address/0x15E3579C3480b0b3349450178F00a40E76352E5D",
			"timestamp": "2021-10-21T02:19:48.964Z",
			"txn": "",
			"network": "shibuya"
		},
		"PeriFinanceBridgeToOptimism": {
			"name": "PeriFinanceBridgeToOptimism",
			"address": "0x47Dd599d6a6f4ab416980691e3f2DCA40553427A",
			"source": "PeriFinanceBridgeToOptimism",
			"link": "https://shibuya.etherscan.io/address/0x47Dd599d6a6f4ab416980691e3f2DCA40553427A",
			"timestamp": "2021-10-21T02:20:18.417Z",
			"txn": "",
			"network": "shibuya"
		},
		"PynthUtil": {
			"name": "PynthUtil",
			"address": "0x5F5440A42f9215743B5847807B64F674F6Ef7A09",
			"source": "PynthUtil",
			"link": "https://shibuya.etherscan.io/address/0x5F5440A42f9215743B5847807B64F674F6Ef7A09",
			"timestamp": "2021-10-21T02:20:42.798Z",
			"txn": "",
			"network": "shibuya"
		},
		"DappMaintenance": {
			"name": "DappMaintenance",
			"address": "0x90D3c6F5e2A854E79E193c057ac31702316baE1E",
			"source": "DappMaintenance",
			"link": "https://shibuya.etherscan.io/address/0x90D3c6F5e2A854E79E193c057ac31702316baE1E",
			"timestamp": "2021-10-21T02:21:01.136Z",
			"txn": "",
			"network": "shibuya"
		},
		"BinaryOptionMarketData": {
			"name": "BinaryOptionMarketData",
			"address": "0x5c029Ad6BB554Bc9A452A498Cf102013f7B9Da91",
			"source": "BinaryOptionMarketData",
			"link": "https://shibuya.etherscan.io/address/0x5c029Ad6BB554Bc9A452A498Cf102013f7B9Da91",
			"timestamp": "2021-10-21T02:21:24.533Z",
			"txn": "",
			"network": "shibuya"
		},
		"CollateralManagerState": {
			"name": "CollateralManagerState",
			"address": "0x2c34CAaB5811EFc5bA93cF4f602A3A56E10296C9",
			"source": "CollateralManagerState",
			"link": "https://shibuya.etherscan.io/address/0x2c34CAaB5811EFc5bA93cF4f602A3A56E10296C9",
			"timestamp": "2021-10-21T02:22:13.442Z",
			"txn": "",
			"network": "shibuya"
		},
		"CollateralManager": {
			"name": "CollateralManager",
			"address": "0x901d06C4ea68eaf9e58595DF69290C8cdD25498b",
			"source": "CollateralManager",
			"link": "https://shibuya.etherscan.io/address/0x901d06C4ea68eaf9e58595DF69290C8cdD25498b",
			"timestamp": "2021-10-21T02:22:36.994Z",
			"txn": "",
			"network": "shibuya"
		},
		"CollateralStateEth": {
			"name": "CollateralStateEth",
			"address": "0x3276117a810BeB199219467D6f9573399886e479",
			"source": "CollateralState",
			"link": "https://shibuya.etherscan.io/address/0x3276117a810BeB199219467D6f9573399886e479",
			"timestamp": "2021-10-21T02:23:36.741Z",
			"txn": "",
			"network": "shibuya"
		},
		"CollateralEth": {
			"name": "CollateralEth",
			"address": "0xFc063ddD76DD9d4F887D29Cc34fe0e32b8F22143",
			"source": "CollateralEth",
			"link": "https://shibuya.etherscan.io/address/0xFc063ddD76DD9d4F887D29Cc34fe0e32b8F22143",
			"timestamp": "2021-10-21T02:24:01.214Z",
			"txn": "",
			"network": "shibuya"
		},
		"CollateralStateErc20": {
			"name": "CollateralStateErc20",
			"address": "0x60b05638f8Bed909A8A4B0112107E0D91C58556d",
			"source": "CollateralState",
			"link": "https://shibuya.etherscan.io/address/0x60b05638f8Bed909A8A4B0112107E0D91C58556d",
			"timestamp": "2021-10-21T02:24:49.006Z",
			"txn": "",
			"network": "shibuya"
		},
		"CollateralErc20": {
			"name": "CollateralErc20",
			"address": "0x0B09F626b778cB0bA4c6d1F0A1Ac2703Cf9eE562",
			"source": "CollateralErc20",
			"link": "https://shibuya.etherscan.io/address/0x0B09F626b778cB0bA4c6d1F0A1Ac2703Cf9eE562",
			"timestamp": "2021-10-21T02:25:12.691Z",
			"txn": "",
			"network": "shibuya"
		},
		"CollateralStateShort": {
			"name": "CollateralStateShort",
			"address": "0xDf88391A2856c584a223A75EfB3B86857c76c036",
			"source": "CollateralState",
			"link": "https://shibuya.etherscan.io/address/0xDf88391A2856c584a223A75EfB3B86857c76c036",
			"timestamp": "2021-10-21T02:26:00.526Z",
			"txn": "",
			"network": "shibuya"
		},
		"CollateralShort": {
			"name": "CollateralShort",
			"address": "0x39cAac18f1B056E7c6f6c0e081DEEA5D5B0a57d3",
			"source": "CollateralShort",
			"link": "https://shibuya.etherscan.io/address/0x39cAac18f1B056E7c6f6c0e081DEEA5D5B0a57d3",
			"timestamp": "2021-10-21T02:26:25.131Z",
			"txn": "",
			"network": "shibuya"
		},
		"CrossChainState": {
			"name": "CrossChainState",
			"address": "0xf9b3275984E181ea823C3F741DcAFb2b2A77D15D",
			"source": "CrossChainState",
			"link": "https://shibuya.etherscan.io/address/0xf9b3275984E181ea823C3F741DcAFb2b2A77D15D",
			"timestamp": "2021-12-01T06:21:07.434Z",
			"txn": "",
			"network": "shibuya"
		},
		"BridgeStatepUSD": {
			"name": "BridgeStatepUSD",
			"address": "0xb274407838761210d6FF9a94F480CbE445819521",
			"source": "BridgeState",
			"link": "https://shibuya.etherscan.io/address/0xb274407838761210d6FF9a94F480CbE445819521",
			"timestamp": "2021-12-01T02:23:24.746Z",
			"txn": "",
			"network": "shibuya"
		},
		"CrossChainManager": {
			"name": "CrossChainManager",
			"address": "0xeA66Ca55aD74c8A578D3CCe5c4d4f7236C2C2d1B",
			"source": "CrossChainManager",
			"link": "https://shibuya.etherscan.io/address/0xeA66Ca55aD74c8A578D3CCe5c4d4f7236C2C2d1B",
			"timestamp": "2021-12-01T02:43:48.870Z",
			"txn": "",
			"network": "shibuya"
		}
	},
	"sources": {
		"SafeDecimalMath": {
			"bytecode": "61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a72315820d7f3502142580fd75b2632f81cf1700dca68da475ee49c13fb0acd93fabaa19964736f6c63430005100032",
			"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"
				}
			],
			"source": {
				"keccak256": "0x817b946de41f6d3ebd548a04b488602bbfbe9a2f79465cde010eac639c28cef8",
				"urls": [
					"bzz-raw://47409944bb20c0cce9a3b5811ece0a7a472a4e70c74d5c40aa7ea3e9021e7e00",
					"dweb:/ipfs/QmasQFw6WA222YBuJaSeQxQw2NWc6NjjyWkQLLVS76MXQN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SafeDecimalMath.sol": "SafeDecimalMath"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SafeDecimalMath.sol": {
						"keccak256": "0x817b946de41f6d3ebd548a04b488602bbfbe9a2f79465cde010eac639c28cef8",
						"urls": [
							"bzz-raw://47409944bb20c0cce9a3b5811ece0a7a472a4e70c74d5c40aa7ea3e9021e7e00",
							"dweb:/ipfs/QmasQFw6WA222YBuJaSeQxQw2NWc6NjjyWkQLLVS76MXQN"
						]
					}
				},
				"version": 1
			}
		},
		"Math": {
			"bytecode": "60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582080d0314b0dddeeb713138cf789d446ae9b95282a699d537f158729b2079038f864736f6c63430005100032",
			"abi": [],
			"source": {
				"keccak256": "0x03fc30b8273ac217fad4914b0132798ae4b8842045bfc8d868022301f3324370",
				"urls": [
					"bzz-raw://05b5ebc577303f2ac52dfc8417030dcf6cec4ac1f18c7f4fdd3ff548106ec09d",
					"dweb:/ipfs/QmXDKvbBqvuSsCGp87Hmp9WzbFtRfVecm9Aez9GNWtG3AD"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Math.sol": "Math"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Math.sol": {
						"keccak256": "0x03fc30b8273ac217fad4914b0132798ae4b8842045bfc8d868022301f3324370",
						"urls": [
							"bzz-raw://05b5ebc577303f2ac52dfc8417030dcf6cec4ac1f18c7f4fdd3ff548106ec09d",
							"dweb:/ipfs/QmXDKvbBqvuSsCGp87Hmp9WzbFtRfVecm9Aez9GNWtG3AD"
						]
					}
				},
				"version": 1
			}
		},
		"AddressResolver": {
			"bytecode": "608060405234801561001057600080fd5b50604051610ab9380380610ab98339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506109bf806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806379ba50971161007157806379ba5097146101a257806382b4c11c146101aa5780638da5cb5b146101c75780639f42102f146101cf578063ab0b8f77146102a1578063dacb2d011461035f576100a9565b80631627540c146100ae578063187f7935146100d657806321f8a7211461010f57806353a47bb71461012c578063766f781514610134575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166103d4565b005b6100f3600480360360208110156100ec57600080fd5b5035610430565b604080516001600160a01b039092168252519081900360200190f35b6100f36004803603602081101561012557600080fd5b503561044b565b6100f3610466565b6100d46004803603602081101561014a57600080fd5b810190602081018135600160201b81111561016457600080fd5b82018360208201111561017657600080fd5b803590602001918460208302840111600160201b8311171561019757600080fd5b509092509050610475565b6100d46104ff565b6100f3600480360360208110156101c057600080fd5b50356105bb565b6100f36106c3565b61028d600480360360408110156101e557600080fd5b810190602081018135600160201b8111156101ff57600080fd5b82018360208201111561021157600080fd5b803590602001918460208302840111600160201b8311171561023257600080fd5b919390929091602081019035600160201b81111561024f57600080fd5b82018360208201111561026157600080fd5b803590602001918460208302840111600160201b8311171561028257600080fd5b5090925090506106d2565b604080519115158252519081900360200190f35b6100d4600480360360408110156102b757600080fd5b810190602081018135600160201b8111156102d157600080fd5b8201836020820111156102e357600080fd5b803590602001918460208302840111600160201b8311171561030457600080fd5b919390929091602081019035600160201b81111561032157600080fd5b82018360208201111561033357600080fd5b803590602001918460208302840111600160201b8311171561035457600080fd5b50909250905061075b565b6100f36004803603604081101561037557600080fd5b81359190810190604081016020820135600160201b81111561039657600080fd5b8201836020820111156103a857600080fd5b803590602001918460018302840111600160201b831117156103c957600080fd5b509092509050610867565b6103dc6108db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6001546001600160a01b031681565b60005b818110156104fa5782828281811061048c57fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104d657600080fd5b505af11580156104ea573d6000803e3d6000fd5b5050600190920191506104789050565b505050565b6001546001600160a01b031633146105485760405162461bcd60e51b81526004018080602001828103825260358152602001806109276035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b03168061064c576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166357ad4663846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d60208110156106ba57600080fd5b50519392505050565b6000546001600160a01b031681565b6000805b8481101561074d578383828181106106ea57fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061071357fe5b60209081029290920135835250810191909152604001600020546001600160a01b031614610745576000915050610753565b6001016106d6565b50600190505b949350505050565b6107636108db565b8281146107b7576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156108605760008585838181106107d057fe5b90506020020135905060008484848181106107e757fe5b600085815260026020908152604091829020805493820295909501356001600160a01b03166001600160a01b03199093168317909455805186815293840182905280519194507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9193829003019150a150506001016107ba565b5050505050565b6000838152600260205260408120546001600160a01b03168383826108d05760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b031633146109245760405162461bcd60e51b815260040180806020018281038252602f81526020018061095c602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a7231582023756b09e1e70578cf6761ea4cc68cea1449c5ec0f43c69bce8196ffdfeebba864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "AddressImported",
					"type": "event",
					"signature": "0xefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa91"
				},
				{
					"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": "names",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "areAddressesImported",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f42102f"
				},
				{
					"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": "getPynth",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x82b4c11c"
				},
				{
					"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": false,
					"inputs": [
						{
							"internalType": "contract MixinResolver[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "rebuildCaches",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x766f7815"
				},
				{
					"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"
				}
			],
			"source": {
				"keccak256": "0xd9c89ed723dc47af09ec15f65eba1fff2190aaf999519096c4204e8f0dc1d1b6",
				"urls": [
					"bzz-raw://e025c35d3808f2279c671270d3ed67d38be269721579dd4725edb1e44b666a9e",
					"dweb:/ipfs/Qmcgr64cMpCyUrb3FLYf6NeM4X6UFSdgqKgjmeEmRmbonu"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"AddressResolver.sol": "AddressResolver"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"AddressResolver.sol": {
						"keccak256": "0xd9c89ed723dc47af09ec15f65eba1fff2190aaf999519096c4204e8f0dc1d1b6",
						"urls": [
							"bzz-raw://e025c35d3808f2279c671270d3ed67d38be269721579dd4725edb1e44b666a9e",
							"dweb:/ipfs/Qmcgr64cMpCyUrb3FLYf6NeM4X6UFSdgqKgjmeEmRmbonu"
						]
					}
				},
				"version": 1
			}
		},
		"ReadProxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516104953803806104958339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061039b806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461008657806353a47bb7146100ae578063776d1a01146100d257806379ba5097146100f85780638da5cb5b14610100578063d4b8399214610108575b36600080376000803660006002545afa3d6000803e80610081573d6000fd5b3d6000f35b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b0316610110565b005b6100b661016c565b604080516001600160a01b039092168252519081900360200190f35b6100ac600480360360208110156100e857600080fd5b50356001600160a01b031661017b565b6100ac6101dd565b6100b6610299565b6100b66102a8565b6101186102b7565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6101836102b7565b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102265760405162461bcd60e51b81526004018080602001828103825260358152602001806103036035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b031633146103005760405162461bcd60e51b815260040180806020018281038252602f815260200180610338602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820b1e5b1832d3f36f88f81ecab36152bb00a8c3640bdadcd5ee45f6b31be53f27364736f6c63430005100032",
			"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"
				}
			],
			"source": {
				"keccak256": "0x1542835257ac239aaf1549f1faa3a3bcf939b304d18a5283b0b64242007323c5",
				"urls": [
					"bzz-raw://accaa9ce7d50b314cd0a44750ef5d9aaa4a69b0b62a7647642b3568f1d670389",
					"dweb:/ipfs/QmQiHghhtV99uPV9WzaMNhj9RzXf3BZ6hWLTYJCs1WNtJC"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ReadProxy.sol": "ReadProxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ReadProxy.sol": {
						"keccak256": "0x1542835257ac239aaf1549f1faa3a3bcf939b304d18a5283b0b64242007323c5",
						"urls": [
							"bzz-raw://accaa9ce7d50b314cd0a44750ef5d9aaa4a69b0b62a7647642b3568f1d670389",
							"dweb:/ipfs/QmQiHghhtV99uPV9WzaMNhj9RzXf3BZ6hWLTYJCs1WNtJC"
						]
					}
				},
				"version": 1
			}
		},
		"FlexibleStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516127833803806127838339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561271e806100656000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638ca0adaf116100f9578063c89eb56211610097578063d994502d11610071578063d994502d146109c2578063f7833c5d146109f9578063f9c39d2f14610a1c578063fdfc4c1314610ae1576101c3565b8063c89eb562146108b7578063d658d2e91461097c578063d71a9b0114610999576101c3565b8063ab15985d116100d3578063ab15985d146106e5578063b67fa7ed146107aa578063c13a2b0c1461081f578063c4f610ed14610894576101c3565b80638ca0adaf1461062a5780638f6b95a31461069f5780639ee5955a146106c2576101c3565b806335ab2708116101665780634dca0978116101405780634dca0978146105345780635bda91e2146105665780636a59e495146105915780638408a5e5146105b5576101c3565b806335ab2708146104215780633bd6ad89146104445780633f28a6fc14610509576101c3565b80631625e3ef116101a25780631625e3ef1461037d57806318f662ed146103a05780631d5b277f146103c357806323257c2b146103ec576101c3565b80624b62d6146101c857806303cdc017146101f3578063142a391e146102b8575b600080fd5b6101f1600480360360608110156101de57600080fd5b5080359060208101359060400135610b04565b005b6101f16004803603606081101561020957600080fd5b81359190810190604081016020820135600160201b81111561022a57600080fd5b82018360208201111561023c57600080fd5b803590602001918460208302840111600160201b8311171561025d57600080fd5b919390929091602081019035600160201b81111561027a57600080fd5b82018360208201111561028c57600080fd5b803590602001918460208302840111600160201b831117156102ad57600080fd5b509092509050610bf4565b61032d600480360360408110156102ce57600080fd5b81359190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b509092509050610d60565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610369578181015183820152602001610351565b505050509050019250505060405180910390f35b6101f16004803603604081101561039357600080fd5b5080359060200135610e07565b6101f1600480360360408110156103b657600080fd5b5080359060200135610f7b565b6101f1600480360360608110156103d957600080fd5b50803590602081013590604001356110e4565b61040f6004803603604081101561040257600080fd5b50803590602001356111cd565b60408051918252519081900360200190f35b6101f16004803603604081101561043757600080fd5b50803590602001356111f4565b6101f16004803603606081101561045a57600080fd5b81359190810190604081016020820135600160201b81111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460208302840111600160201b831117156104ae57600080fd5b919390929091602081019035600160201b8111156104cb57600080fd5b8201836020820111156104dd57600080fd5b803590602001918460208302840111600160201b831117156104fe57600080fd5b50909250905061135d565b6101f16004803603606081101561051f57600080fd5b508035906020810135906040013515156114c8565b6101f16004803603606081101561054a57600080fd5b50803590602081013590604001356001600160a01b03166115b1565b6101f16004803603606081101561057c57600080fd5b5080359060208101359060400135151561169a565b61059961184c565b604080516001600160a01b039092168252519081900360200190f35b61032d600480360360408110156105cb57600080fd5b81359190810190604081016020820135600160201b8111156105ec57600080fd5b8201836020820111156105fe57600080fd5b803590602001918460208302840111600160201b8311171561061f57600080fd5b50909250905061185b565b61032d6004803603604081101561064057600080fd5b81359190810190604081016020820135600160201b81111561066157600080fd5b82018360208201111561067357600080fd5b803590602001918460208302840111600160201b8311171561069457600080fd5b5090925090506118f7565b6101f1600480360360408110156106b557600080fd5b50803590602001356119b3565b610599600480360360408110156106d857600080fd5b5080359060200135611b32565b6101f1600480360360608110156106fb57600080fd5b81359190810190604081016020820135600160201b81111561071c57600080fd5b82018360208201111561072e57600080fd5b803590602001918460208302840111600160201b8311171561074f57600080fd5b919390929091602081019035600160201b81111561076c57600080fd5b82018360208201111561077e57600080fd5b803590602001918460208302840111600160201b8311171561079f57600080fd5b509092509050611b62565b61032d600480360360408110156107c057600080fd5b81359190810190604081016020820135600160201b8111156107e157600080fd5b8201836020820111156107f357600080fd5b803590602001918460208302840111600160201b8311171561081457600080fd5b509092509050611cc4565b61032d6004803603604081101561083557600080fd5b81359190810190604081016020820135600160201b81111561085657600080fd5b82018360208201111561086857600080fd5b803590602001918460208302840111600160201b8311171561088957600080fd5b509092509050611d60565b61040f600480360360408110156108aa57600080fd5b5080359060200135611e0e565b6101f1600480360360608110156108cd57600080fd5b81359190810190604081016020820135600160201b8111156108ee57600080fd5b82018360208201111561090057600080fd5b803590602001918460208302840111600160201b8311171561092157600080fd5b919390929091602081019035600160201b81111561093e57600080fd5b82018360208201111561095057600080fd5b803590602001918460208302840111600160201b8311171561097157600080fd5b509092509050611e35565b61040f6004803603602081101561099257600080fd5b5035611f97565b6101f1600480360360608110156109af57600080fd5b5080359060208101359060400135611fa9565b6109e5600480360360408110156109d857600080fd5b5080359060200135612092565b604080519115158252519081900360200190f35b61040f60048036036040811015610a0f57600080fd5b50803590602001356120bc565b6101f160048036036060811015610a3257600080fd5b81359190810190604081016020820135600160201b811115610a5357600080fd5b820183602082011115610a6557600080fd5b803590602001918460208302840111600160201b83111715610a8657600080fd5b919390929091602081019035600160201b811115610aa357600080fd5b820183602082011115610ab557600080fd5b803590602001918460208302840111600160201b83111715610ad657600080fd5b5090925090506120e3565b6101f160048036036040811015610af757600080fd5b5080359060200135612247565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610b6d57600080fd5b505afa158015610b81573d6000803e3d6000fd5b505050506040513d6020811015610b9757600080fd5b505190506001600160a01b0381163314610be25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed8585856123b0565b5050505050565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610c5d57600080fd5b505afa158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505190506001600160a01b0381163314610cd25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314610d14576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657610d4e88888884818110610d2f57fe5b90506020020135878785818110610d4257fe5b90506020020135612421565b600101610d17565b5050505050505050565b60608083839050604051908082528060200260200182016040528015610d90578160200160208202803883390190505b506000868152600160209081526040808320548352600390915281209192505b84811015610dfc57816000878784818110610dc757fe5b90506020020135815260200190815260200160002054838281518110610de957fe5b6020908102919091010152600101610db0565b509095945050505050565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b505190506001600160a01b0381163314610ee55760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526005825280832086845282529182902054825187815291820186905260ff168015158284015291517f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c9181900360600190a15050506000918252600160209081526040808420548452600582528084209284529190529020805460ff19169055565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b505190506001600160a01b03811633146110595760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526002825280832086845282529182902054825187815291820186905281830181905291517f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d46629181900360600190a1505050600091825260016020908152604080842054845260028252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561114d57600080fd5b505afa158015611161573d6000803e3d6000fd5b505050506040513d602081101561117757600080fd5b505190506001600160a01b03811633146111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612421565b60009182526001602090815260408084205484526002825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d602081101561128757600080fd5b505190506001600160a01b03811633146112d25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526006825280832086845282529182902054825187815291820186905281830181905291517f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd939181900360600190a1505050600091825260016020908152604080842054845260068252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156113c657600080fd5b505afa1580156113da573d6000803e3d6000fd5b505050506040513d60208110156113f057600080fd5b505190506001600160a01b038116331461143b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b84831461147d576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d56576114c08888888481811061149857fe5b905060200201358787858181106114ab57fe5b905060200201356001600160a01b0316612492565b600101611480565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561153157600080fd5b505afa158015611545573d6000803e3d6000fd5b505050506040513d602081101561155b57600080fd5b505190506001600160a01b03811633146115a65760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561251b565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561161a57600080fd5b505afa15801561162e573d6000803e3d6000fd5b505050506040513d602081101561164457600080fd5b505190506001600160a01b038116331461168f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612492565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561170357600080fd5b505afa158015611717573d6000803e3d6000fd5b505050506040513d602081101561172d57600080fd5b505190506001600160a01b03811633146117785760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000858152600160205260409020546117d8576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206d69677261746520656d70747920636f6e7472616374000000604482015290519081900360640190fd5b600085815260016020526040808220548683529120558215611804576000858152600160205260408120555b60408051868152602081018690528415158183015290517fa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c9181900360600190a15050505050565b6000546001600160a01b031681565b6060808383905060405190808252806020026020018201604052801561188b578160200160208202803883390190505b506000868152600160209081526040808320548352600690915281209192505b84811015610dfc578160008787848181106118c257fe5b905060200201358152602001908152602001600020548382815181106118e457fe5b60209081029190910101526001016118ab565b60608083839050604051908082528060200260200182016040528015611927578160200160208202803883390190505b506000868152600160209081526040808320548352600490915281209192505b84811015610dfc5781600087878481811061195e57fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b031683828151811061199357fe5b6001600160a01b0390921660209283029190910190910152600101611947565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b505190506001600160a01b0381163314611a915760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000848152600160209081526040808320548352600482528083208684528252918290205482518781529182018690526001600160a01b031681830181905291517fec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf669181900360600190a1505050600091825260016020908152604080842054845260048252808420928452919052902080546001600160a01b0319169055565b6000918252600160209081526040808420548452600482528084209284529190529020546001600160a01b031690565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611bcb57600080fd5b505afa158015611bdf573d6000803e3d6000fd5b505050506040513d6020811015611bf557600080fd5b505190506001600160a01b0381163314611c405760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611c82576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611cbc88888884818110611c9d57fe5b90506020020135878785818110611cb057fe5b9050602002013561259a565b600101611c85565b60608083839050604051908082528060200260200182016040528015611cf4578160200160208202803883390190505b506000868152600160209081526040808320548352600290915281209192505b84811015610dfc57816000878784818110611d2b57fe5b90506020020135815260200190815260200160002054838281518110611d4d57fe5b6020908102919091010152600101611d14565b60608083839050604051908082528060200260200182016040528015611d90578160200160208202803883390190505b506000868152600160209081526040808320548352600590915281209192505b84811015610dfc57816000878784818110611dc757fe5b90506020020135815260200190815260200160002060009054906101000a900460ff16838281518110611df657fe5b91151560209283029190910190910152600101611db0565b60009182526001602090815260408084205484526003825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611e9e57600080fd5b505afa158015611eb2573d6000803e3d6000fd5b505050506040513d6020811015611ec857600080fd5b505190506001600160a01b0381163314611f135760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611f55576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611f8f88888884818110611f7057fe5b90506020020135878785818110611f8357fe5b905060200201356123b0565b600101611f58565b60016020526000908152604090205481565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b505190506001600160a01b03811633146120875760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561259a565b60009182526001602090815260408084205484526005825280842092845291905290205460ff1690565b60009182526001602090815260408084205484526006825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561214c57600080fd5b505afa158015612160573d6000803e3d6000fd5b505050506040513d602081101561217657600080fd5b505190506001600160a01b03811633146121c15760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314612203576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d565761223f8888888481811061221e57fe5b9050602002013587878581811061223157fe5b90506020020135151561251b565b600101612206565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156122b057600080fd5b505afa1580156122c4573d6000803e3d6000fd5b505050506040513d60208110156122da57600080fd5b505190506001600160a01b03811633146123255760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526003825280832086845282529182902054825187815291820186905281830181905291517f78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae9181900360600190a1505050600091825260016020908152604080842054845260038252808420928452919052812055565b80600660006123be8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a952809181900360600190a1505050565b806002600061242f8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c99181900360600190a1505050565b80600460006124a08661260b565b815260208082019290925260409081016000908120868252835281902080546001600160a01b0319166001600160a01b0394851617905580518681529182018590529183168183015290517f524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365916060908290030190a1505050565b80600560006125298661260b565b8152602080820192909252604090810160009081208682528352819020805460ff19169315159390931790925581518581529081018490528215158183015290517f9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b916060908290030190a1505050565b80600360006125a88661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c9181900360600190a1505050565b6000818152600160205260408120548061266d5750604080513360601b60208083019190915260348201859052436054808401919091528351808403909101815260749092018352815191810191909120600085815260019092529190208190555b9291505056fe43616e6e6f742066696e6420636f6e747261637420696e2041646472657373205265736f6c76657243616e206f6e6c7920626520696e766f6b65642062792074686520636f6e6669677572656420636f6e7472616374496e707574206c656e67746873206d757374206d617463680000000000000000a265627a7a72315820a6e34e21d97c353ac1afc9bdbbfdfae39a6b40c3cf1b83140cdb036dc2c0674e64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "fromContractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toContractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "removeAccessFromPreviousContract",
							"type": "bool"
						}
					],
					"name": "KeyMigrated",
					"type": "event",
					"signature": "0xa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "ValueDeletedAddress",
					"type": "event",
					"signature": "0xec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf66"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "ValueDeletedBool",
					"type": "event",
					"signature": "0x321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "ValueDeletedBytes32",
					"type": "event",
					"signature": "0x1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd93"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "ValueDeletedInt",
					"type": "event",
					"signature": "0x78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "ValueDeletedUInt",
					"type": "event",
					"signature": "0x8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d4662"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "ValueSetAddress",
					"type": "event",
					"signature": "0x524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "ValueSetBool",
					"type": "event",
					"signature": "0x9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "ValueSetBytes32",
					"type": "event",
					"signature": "0x961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a95280"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "ValueSetInt",
					"type": "event",
					"signature": "0x0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "ValueSetUInt",
					"type": "event",
					"signature": "0x60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8f6b95a3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBoolValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1625e3ef"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x35ab2708"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfdfc4c13"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x18f662ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9ee5955a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getAddressValues",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8ca0adaf"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBoolValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd994502d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getBoolValues",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "",
							"type": "bool[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc13a2b0c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf7833c5d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getBytes32Values",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8408a5e5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc4f610ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getIntValues",
					"outputs": [
						{
							"internalType": "int256[]",
							"name": "",
							"type": "int256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x142a391e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23257c2b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getUIntValues",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb67fa7ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "hashes",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd658d2e9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "fromContractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "toContractName",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "removeAccessFromPreviousContract",
							"type": "bool"
						}
					],
					"name": "migrateContractKey",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5bda91e2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverProxy",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6a59e495"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4dca0978"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "values",
							"type": "address[]"
						}
					],
					"name": "setAddressValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3bd6ad89"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBoolValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3f28a6fc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "bool[]",
							"name": "values",
							"type": "bool[]"
						}
					],
					"name": "setBoolValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf9c39d2f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x004b62d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "values",
							"type": "bytes32[]"
						}
					],
					"name": "setBytes32Values",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc89eb562"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd71a9b01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "int256[]",
							"name": "values",
							"type": "int256[]"
						}
					],
					"name": "setIntValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xab15985d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1d5b277f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "values",
							"type": "uint256[]"
						}
					],
					"name": "setUIntValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x03cdc017"
				}
			],
			"source": {
				"keccak256": "0x80f3f43223f5bd3901d2671aba562e0c247125de61fa1d044512bacd31c2a6f5",
				"urls": [
					"bzz-raw://eeff8673e41e36abbe37714bd36dd55cab368d26b1b8f694a6bad735c8abf40a",
					"dweb:/ipfs/QmYYC3PZEa6yWo4fUxDGvxq6voLDtVGpMyr7wPU1Jbw6kY"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FlexibleStorage.sol": "FlexibleStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FlexibleStorage.sol": {
						"keccak256": "0x80f3f43223f5bd3901d2671aba562e0c247125de61fa1d044512bacd31c2a6f5",
						"urls": [
							"bzz-raw://eeff8673e41e36abbe37714bd36dd55cab368d26b1b8f694a6bad735c8abf40a",
							"dweb:/ipfs/QmYYC3PZEa6yWo4fUxDGvxq6voLDtVGpMyr7wPU1Jbw6kY"
						]
					}
				},
				"version": 1
			}
		},
		"SystemSettings": {
			"bytecode": "608060405234801561001057600080fd5b506040516130733803806130738339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050612f4d806101266000396000f3fe608060405234801561001057600080fd5b50600436106103425760003560e01c80637bf82305116101b8578063b2ea705411610104578063dc8f4a1b116100a2578063f1076b251161007c578063f1076b25146107af578063f16fe2db146107b7578063f344da67146107bf578063fb1b4c7e146107c757610342565b8063dc8f4a1b14610764578063e0e6393d1461078a578063e94220461461079257610342565b8063c1d20ca2116100de578063c1d20ca214610737578063c58c9ae414610754578063c5cd12151461075c578063d62ae3991461070f57610342565b8063b2ea705414610538578063b410a03414610727578063c193f0d81461072f57610342565b8063946ce8cd11610171578063a4ce5b711161014b578063a4ce5b7114610707578063add0989d1461070f578063af5355d814610717578063af8bc6601461071f57610342565b8063946ce8cd146106c5578063967706e9146106e2578063a0cf7451146106ff57610342565b80637bf823051461056d5780637ce2cc7f14610593578063826098e81461059b578063892571171461065d578063899ffef4146106655780638da5cb5b146106bd57610342565b80632af64bd3116102925780635e0117d611610230578063657c6dc71161020a578063657c6dc714610538578063741853601461054057806379ba50971461054857806379cb657a1461055057610342565b80635e0117d6146104e15780636190dd7a146104fe578063635a38721461051b57610342565b80634641ab661161026c5780634641ab66146104aa5780634c36b837146104c957806353a47bb7146104d1578063580a975c146104d957610342565b80632af64bd3146104695780632cce0e5414610485578063372a395a146104a257610342565b80631627540c116102ff57806322425fa4116102d957806322425fa41461043457806323f5589a1461043c578063242df9e1146104445780632806a7431461044c57610342565b80631627540c146103e95780631775765f1461040f5780631e6e21901461041757610342565b8063038e47fe1461034757806304c49f2c1461037957806304f3bcec14610398578063054be0b7146103bc578063085f95cd146103d95780630ee4951b146103e1575b600080fd5b6103676004803603602081101561035d57600080fd5b503560ff166107cf565b60408051918252519081900360200190f35b6103966004803603602081101561038f57600080fd5b50356107e2565b005b6103a0610968565b604080516001600160a01b039092168252519081900360200190f35b610396600480360360208110156103d257600080fd5b5035610977565b610367610a90565b610367610a9c565b610396600480360360208110156103ff57600080fd5b50356001600160a01b0316610aac565b610367610b08565b6103966004803603602081101561042d57600080fd5b5035610b12565b610367610bf4565b610367610bfe565b610367610c08565b6103966004803603602081101561046257600080fd5b5035610c12565b610471610d30565b604080519115158252519081900360200190f35b6103966004803603602081101561049b57600080fd5b5035610e3a565b610367610fef565b610396600480360360208110156104c057600080fd5b50351515610ff9565b6103a06110d8565b6103a06110e2565b6103676110f1565b610396600480360360208110156104f757600080fd5b50356110f8565b6103966004803603602081101561051457600080fd5b503561127d565b6103966004803603602081101561053157600080fd5b5035611357565b61036761142d565b610396611439565b610396611601565b6103966004803603602081101561056657600080fd5b50356116bd565b6103966004803603602081101561058357600080fd5b50356001600160a01b0316611791565b6103676118d3565b610396600480360360408110156105b157600080fd5b8101906020810181356401000000008111156105cc57600080fd5b8201836020820111156105de57600080fd5b8035906020019184602083028401116401000000008311171561060057600080fd5b91939092909160208101903564010000000081111561061e57600080fd5b82018360208201111561063057600080fd5b8035906020019184602083028401116401000000008311171561065257600080fd5b5090925090506118da565b610367611b05565b61066d611b0f565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156106a9578181015183820152602001610691565b505050509050019250505060405180910390f35b6103a0611b60565b610396600480360360208110156106db57600080fd5b5035611b6f565b610367600480360360208110156106f857600080fd5b5035611d85565b610367611d90565b610367611d9a565b610367611da6565b610367611dad565b610367611db7565b610367611dbc565b610471611dc6565b6103966004803603602081101561074d57600080fd5b5035611dd0565b610367611eee565b610367611ef5565b6103966004803603604081101561077a57600080fd5b5060ff8135169060200135611eff565b61036761204a565b610396600480360360208110156107a857600080fd5b5035612054565b610367612181565b610367612188565b610367612194565b61036761219b565b60006107da826121a7565b90505b919050565b6107ea612244565b62015180811015610842576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b624f1a0081111561089a576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b6108a261228f565b6001600160a01b0316631d5b277f600080516020612e76833981519152703332b2a832b934b7b2223ab930ba34b7b760791b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561091957600080fd5b505af115801561092d573d6000803e3d6000fd5b50506040805184815290517f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd9350908190036020019150a150565b6002546001600160a01b031681565b61097f612244565b670de0b6b3a76400008111156109c65760405162461bcd60e51b8152600401808060200182810382526033815260200180612e966033913960400191505060405180910390fd5b6109ce61228f565b6001600160a01b0316631d5b277f600080516020612e768339815191526c69737375616e6365526174696f60981b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610a4157600080fd5b505af1158015610a55573d6000803e3d6000fd5b50506040805184815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529350908190036020019150a150565b6703782dace9d9000081565b6000610aa66122ac565b90505b90565b610ab4612244565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610aa6612352565b610b1a612244565b610b2261228f565b6001600160a01b0316631d5b277f600080516020612e768339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f72000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610ba557600080fd5b505af1158015610bb9573d6000803e3d6000fd5b50506040805184815290517f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e59350908190036020019150a150565b6000610aa66123c8565b6000610aa661243f565b6000610aa66124b7565b610c1a612244565b6703782dace9d90000811115610c615760405162461bcd60e51b8152600401808060200182810382526021815260200180612d986021913960400191505060405180910390fd5b610c6961228f565b6001600160a01b0316631d5b277f600080516020612e76833981519152716c69717569646174696f6e50656e616c747960701b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610ce157600080fd5b505af1158015610cf5573d6000803e3d6000fd5b50506040805184815290517fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e99350908190036020019150a150565b60006060610d3c611b0f565b905060005b8151811015610e31576000828281518110610d5857fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610dc057600080fd5b505afa158015610dd4573d6000803e3d6000fd5b505050506040513d6020811015610dea57600080fd5b50516001600160a01b0316141580610e1757506000818152600360205260409020546001600160a01b0316155b15610e285760009350505050610aa9565b50600101610d41565b50600191505090565b610e42612244565b6032811115610e8d576040805162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b604482015290519081900360640190fd5b6000610f206064610f1473__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610edb57600080fd5b505af4158015610eef573d6000803e3d6000fd5b505050506040513d6020811015610f0557600080fd5b5051859063ffffffff61252d16565b9063ffffffff61258f16565b9050610f2a61228f565b6001600160a01b0316631d5b277f600080516020612e768339815191526e1d185c99d95d151a1c995cda1bdb19608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610f9f57600080fd5b505af1158015610fb3573d6000803e3d6000fd5b50506040805184815290517fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab129350908190036020019150a15050565b6000610aa66125f9565b611001612244565b61100961228f565b60408051630fca29bf60e21b8152600080516020612e768339815191526004820152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6024820152831515604482015290516001600160a01b039290921691633f28a6fc9160648082019260009290919082900301818387803b15801561108757600080fd5b505af115801561109b573d6000803e3d6000fd5b505060408051841515815290517fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd9350908190036020019150a150565b6000610aa661267c565b6001546001600160a01b031681565b62093a8081565b611100612244565b62278d00811115611158576040805162461bcd60e51b815260206004820152601960248201527f4d757374206265206c657373207468616e203330206461797300000000000000604482015290519081900360640190fd5b620151808110156111b0576040805162461bcd60e51b815260206004820152601a60248201527f4d7573742062652067726561746572207468616e203120646179000000000000604482015290519081900360640190fd5b6111b861228f565b6001600160a01b0316631d5b277f600080516020612e768339815191526f6c69717569646174696f6e44656c617960801b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561122e57600080fd5b505af1158015611242573d6000803e3d6000fd5b50506040805184815290517f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53989350908190036020019150a150565b611285612244565b61128d61228f565b6001600160a01b0316631d5b277f600080516020612e768339815191527464656274536e617073686f745374616c6554696d6560581b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561130857600080fd5b505af115801561131c573d6000803e3d6000fd5b50506040805184815290517f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d79350908190036020019150a150565b61135f612244565b61136761228f565b6001600160a01b0316631d5b277f600080516020612e768339815191527077616974696e67506572696f645365637360781b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156113de57600080fd5b505af11580156113f2573d6000803e3d6000fd5b50506040805184815290517fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f89350908190036020019150a150565b670de0b6b3a764000081565b6060611443611b0f565b905060005b81518110156115fd57600082828151811061145f57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156115155781810151838201526020016114fd565b50505050905090810190601f1680156115425780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561156057600080fd5b505afa158015611574573d6000803e3d6000fd5b505050506040513d602081101561158a57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611448565b5050565b6001546001600160a01b0316331461164a5760405162461bcd60e51b8152600401808060200182810382526035815260200180612db96035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6116c5612244565b6116cd61228f565b6001600160a01b0316631d5b277f600080516020612e768339815191526e1c985d1954dd185b1954195c9a5bd9608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561174257600080fd5b505af1158015611756573d6000803e3d6000fd5b50506040805184815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669350908190036020019150a150565b611799612244565b6001600160a01b0381166117f4576040805162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015290519081900360640190fd5b6117fc61228f565b604080516309b9412f60e31b8152600080516020612e7683398151915260048201527561676772656761746f725761726e696e67466c61677360501b60248201526001600160a01b03848116604483015291519290911691634dca09789160648082019260009290919082900301818387803b15801561187b57600080fd5b505af115801561188f573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde9659350908190036020019150a150565b622dc6c081565b6118e2612244565b828114611936576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b83811015611afe5767016345785d8a000083838381811061195657fe5b9050602002013511156119b0576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b6119b861228f565b6001600160a01b0316631d5b277f600080516020612e768339815191526e65786368616e67654665655261746560881b8888868181106119f457fe5b90506020020135604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120868686818110611a3457fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611a7f57600080fd5b505af1158015611a93573d6000803e3d6000fd5b505050507fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e858583818110611ac457fe5b90506020020135848484818110611ad757fe5b604080519485526020918202939093013590840152508051918290030190a1600101611939565b5050505050565b6000610aa66126f8565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611b5157fe5b60200260200101818152505090565b6000546001600160a01b031681565b611b77612244565b611c16611c01611b8561243f565b73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611bc957600080fd5b505af4158015611bdd573d6000803e3d6000fd5b505050506040513d6020811015611bf357600080fd5b50519063ffffffff61276f16565b670de0b6b3a76400009063ffffffff6127c916565b811115611c545760405162461bcd60e51b8152600401808060200182810382526038815260200180612dee6038913960400191505060405180910390fd5b6000611c76671bc16d674ec80000611c6a6127e7565b9063ffffffff61285a16565b905080821015611cb75760405162461bcd60e51b8152600401808060200182810382526028815260200180612ec96028913960400191505060405180910390fd5b611cbf61228f565b6001600160a01b0316631d5b277f600080516020612e768339815191526f6c69717569646174696f6e526174696f60801b856040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611d3557600080fd5b505af1158015611d49573d6000803e3d6000fd5b50506040805185815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9350908190036020019150a15050565b60006107da82612884565b6000610aa6612927565b671bc16d674ec8000081565b6201518081565b6000610aa661299d565b603281565b6000610aa66127e7565b6000610aa6612a18565b611dd8612244565b670b1a2bc2ec500000811115611e1f5760405162461bcd60e51b8152600401808060200182810382526028815260200180612ef16028913960400191505060405180910390fd5b611e2761228f565b6001600160a01b0316631d5b277f600080516020612e768339815191527165787465726e616c546f6b656e51756f746160701b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611e9f57600080fd5b505af1158015611eb3573d6000803e3d6000fd5b50506040805184815290517fab6fde4159cbba0eaae887ab25d5589a9f86c8161284e67ea3a981a5b1584eec9350908190036020019150a150565b627a120081565b6000610aa6612a93565b611f07612244565b622dc6c08110158015611f1d5750627a12008111155b611f6e576040805162461bcd60e51b815260206004820152601d60248201527f4f7574206f662072616e67652078446f6d61696e206761734c696d6974000000604482015290519081900360640190fd5b611f7661228f565b6001600160a01b0316631d5b277f600080516020612e76833981519152611f9c85612b0b565b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611fe157600080fd5b505af1158015611ff5573d6000803e3d6000fd5b505050507fbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a82826040518083600381111561202c57fe5b60ff1681526020018281526020019250505060405180910390a15050565b6000610aa6612c3e565b61205c612244565b62093a808111156120b4576040805162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015290519081900360640190fd5b6120bc61228f565b6001600160a01b0316631d5b277f600080516020612e768339815191526f6d696e696d756d5374616b6554696d6560801b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561213257600080fd5b505af1158015612146573d6000803e3d6000fd5b50506040805184815290517f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144779350908190036020019150a150565b62278d0081565b670b1a2bc2ec50000081565b624f1a0081565b67016345785d8a000081565b60006121b161228f565b6001600160a01b03166323257c2b600080516020612e768339815191526121d785612b0b565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561221257600080fd5b505afa158015612226573d6000803e3d6000fd5b505050506040513d602081101561223c57600080fd5b505192915050565b6000546001600160a01b0316331461228d5760405162461bcd60e51b815260040180806020018281038252602f815260200180612e26602f913960400191505060405180910390fd5b565b6000610aa66e466c657869626c6553746f7261676560881b612cb3565b60006122b661228f565b6001600160a01b03166323257c2b600080516020612e768339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b505afa158015612335573d6000803e3d6000fd5b505050506040513d602081101561234b57600080fd5b5051905090565b600061235c61228f565b6001600160a01b03166323257c2b600080516020612e768339815191526f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b60006123d261228f565b6001600160a01b03166323257c2b600080516020612e76833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b600061244961228f565b6001600160a01b03166323257c2b600080516020612e76833981519152716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b60006124c161228f565b6001600160a01b03166323257c2b600080516020612e768339815191526f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b60008261253c57506000612589565b8282028284828161254957fe5b04146125865760405162461bcd60e51b8152600401808060200182810382526021815260200180612e556021913960400191505060405180910390fd5b90505b92915050565b60008082116125e5576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816125f057fe5b04949350505050565b600061260361228f565b6001600160a01b03166323257c2b600080516020612e768339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b600061268661228f565b6001600160a01b0316639ee5955a600080516020612e768339815191527561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b600061270261228f565b6001600160a01b03166323257c2b600080516020612e768339815191527077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b600082820183811015612586576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061258682610f1485670de0b6b3a764000063ffffffff61252d16565b60006127f161228f565b6001600160a01b03166323257c2b600080516020612e768339815191526c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b6000670de0b6b3a7640000612875848463ffffffff61252d16565b8161287c57fe5b049392505050565b600061288e61228f565b6001600160a01b03166323257c2b600080516020612e768339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561221257600080fd5b600061293161228f565b6001600160a01b03166323257c2b600080516020612e768339815191526f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b60006129a761228f565b6001600160a01b03166323257c2b600080516020612e768339815191527464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b6000612a2261228f565b6001600160a01b031663d994502d600080516020612e76833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b6000612a9d61228f565b6001600160a01b03166323257c2b600080516020612e768339815191527165787465726e616c546f6b656e51756f746160701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b600080826003811115612b1a57fe5b1415612b4757507f63726f7373446f6d61696e4465706f7369744761734c696d69740000000000006107dd565b6001826003811115612b5557fe5b1415612b8257507f63726f7373446f6d61696e457363726f774761734c696d6974000000000000006107dd565b6002826003811115612b9057fe5b1415612bbd57507f63726f7373446f6d61696e5265776172644761734c696d6974000000000000006107dd565b6003826003811115612bcb57fe5b1415612bf857507f63726f7373446f6d61696e5769746864726177616c4761734c696d69740000006107dd565b6040805162461bcd60e51b8152602060048201526016602482015275556e6b6e6f776e20676173206c696d6974207479706560501b604482015290519081900360640190fd5b6000612c4861228f565b6001600160a01b03166323257c2b600080516020612e768339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561232157600080fd5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612d905760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d55578181015183820152602001612d3d565b50505050905090810190601f168015612d825780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c5459596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869706c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c7479294f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753797374656d53657474696e67730000000000000000000000000000000000004e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f6c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f6e65772071756f74612065786365656473206d6178696d756d203130302070657263656e74616765a265627a7a72315820c918f865ccee9fbaffd3e02df973dd6ffba8163ceb38aa84922dc0994cc22a0564736f6c63430005100032",
			"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": "flags",
							"type": "address"
						}
					],
					"name": "AggregatorWarningFlagsUpdated",
					"type": "event",
					"signature": "0x0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde965"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "gasLimitType",
							"type": "uint8"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newLimit",
							"type": "uint256"
						}
					],
					"name": "CrossDomainMessageGasLimitChanged",
					"type": "event",
					"signature": "0xbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtSnapshotStaleTime",
							"type": "uint256"
						}
					],
					"name": "DebtSnapshotStaleTimeUpdated",
					"type": "event",
					"signature": "0x9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newExchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "ExchangeFeeUpdated",
					"type": "event",
					"signature": "0xbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "quota",
							"type": "uint256"
						}
					],
					"name": "ExternalTokenQuotaUpdated",
					"type": "event",
					"signature": "0xab6fde4159cbba0eaae887ab25d5589a9f86c8161284e67ea3a981a5b1584eec"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newFeePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "FeePeriodDurationUpdated",
					"type": "event",
					"signature": "0x791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "IssuanceRatioUpdated",
					"type": "event",
					"signature": "0x63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d885452"
				},
				{
					"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": "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": "uint256",
							"name": "threshold",
							"type": "uint256"
						}
					],
					"name": "PriceDeviationThresholdUpdated",
					"type": "event",
					"signature": "0x6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rateStalePeriod",
							"type": "uint256"
						}
					],
					"name": "RateStalePeriodUpdated",
					"type": "event",
					"signature": "0x16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e66"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newTargetThreshold",
							"type": "uint256"
						}
					],
					"name": "TargetThresholdUpdated",
					"type": "event",
					"signature": "0xb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab12"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "enabled",
							"type": "bool"
						}
					],
					"name": "TradingRewardsEnabled",
					"type": "event",
					"signature": "0xe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "WaitingPeriodSecsUpdated",
					"type": "event",
					"signature": "0xc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58c9ae4"
				},
				{
					"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_EXTERNAL_TOKEN_QUOTA",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf16fe2db"
				},
				{
					"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": "MAX_ISSUANCE_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x657c6dc7"
				},
				{
					"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": "MAX_MINIMUM_STAKE_TIME",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x580a975c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_TARGET_THRESHOLD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf8bc660"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7ce2cc7f"
				},
				{
					"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": "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": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c36b837"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "gasLimitType",
							"type": "uint8"
						}
					],
					"name": "crossDomainMessageGasLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x038e47fe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf5355d8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x967706e9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "externalTokenQuota",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc5cd1215"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"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": 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": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ee4951b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_flags",
							"type": "address"
						}
					],
					"name": "setAggregatorWarningFlags",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7bf82305"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "_gasLimitType",
							"type": "uint8"
						},
						{
							"internalType": "uint256",
							"name": "_crossDomainMessageGasLimit",
							"type": "uint256"
						}
					],
					"name": "setCrossDomainMessageGasLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdc8f4a1b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setDebtSnapshotStaleTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6190dd7a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "exchangeFeeRates",
							"type": "uint256[]"
						}
					],
					"name": "setExchangeFeeRateForPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x826098e8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_newQuota",
							"type": "uint256"
						}
					],
					"name": "setExternalTokenQuota",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc1d20ca2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_feePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "setFeePeriodDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x04c49f2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						}
					],
					"name": "setIssuanceRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x054be0b7"
				},
				{
					"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": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setMinimumStakeTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe9422046"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_priceDeviationThresholdFactor",
							"type": "uint256"
						}
					],
					"name": "setPriceDeviationThresholdFactor",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1e6e2190"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "period",
							"type": "uint256"
						}
					],
					"name": "setRateStalePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79cb657a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_percent",
							"type": "uint256"
						}
					],
					"name": "setTargetThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2cce0e54"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_tradingRewardsEnabled",
							"type": "bool"
						}
					],
					"name": "setTradingRewardsEnabled",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4641ab66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "setWaitingPeriodSecs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x635a3872"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe0e6393d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc193f0d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			],
			"source": {
				"keccak256": "0xfac40b747b70ce01c1c93d63185440a0f712984b107f7419ab8cecaddccc4500",
				"urls": [
					"bzz-raw://07e62c1f69806298829b690a776e9b87bd5f52647914c503bcb041dd9c83c9dc",
					"dweb:/ipfs/QmYLsUHPAFfXTuAtbRtkgRkbWLMjVTD1JF2APxJi2cbqBP"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemSettings.sol": "SystemSettings"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SystemSettings.sol": {
						"keccak256": "0xfac40b747b70ce01c1c93d63185440a0f712984b107f7419ab8cecaddccc4500",
						"urls": [
							"bzz-raw://07e62c1f69806298829b690a776e9b87bd5f52647914c503bcb041dd9c83c9dc",
							"dweb:/ipfs/QmYLsUHPAFfXTuAtbRtkgRkbWLMjVTD1JF2APxJi2cbqBP"
						]
					}
				},
				"version": 1
			}
		},
		"SystemStatus": {
			"bytecode": "608060405234801561001057600080fd5b50604051611ed6380380611ed68339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050611ddc806100fa6000396000f3fe608060405234801561001057600080fd5b506004361061025e5760003560e01c80634ef4a6431161014657806389bb3dfa116100c3578063c09290bb11610087578063c09290bb14610983578063d7f2c385146109f1578063e470df5814610a0e578063f161620714610a2b578063f405f65a14610a33578063f8b4b08414610a3b5761025e565b806389bb3dfa146108af5780638c38729d146108cc5780638da5cb5b146108e95780639f8a95ba146108f1578063ad135a16146109155761025e565b80637118d4311161010a5780637118d43114610806578063754a46411461080e57806379ba5097146108315780637c3125411461083957806387743c36146108415761025e565b80634ef4a6431461063c578063517d60c61461065957806353a47bb7146107b7578063631070fc146107db57806367a280b2146107fe5761025e565b806320f2bf00116101df5780632e94d93d116101a35780632e94d93d14610542578063387da909146105b0578063396e258e146105b85780633cb4d443146105d557806348bf1971146105f85780634abdb44d146106345761025e565b806320f2bf00146104895780632366245e146104d05780632cb28bd8146104fb5780632dd8afdb1461051e5780632e8d0b9e146105265761025e565b8063157c51d311610226578063157c51d3146104195780631588e817146104215780631627540c1461043e5780631635b0ce146104645780631d7e77891461046c5761025e565b8063086dabd11461026357806308d10e621461026d5780630d2d7c281461028a57806312bde5141461039157806314acc95f146103ab575b600080fd5b61026b610a43565b005b61026b6004803603602081101561028357600080fd5b5035610a4d565b6102f8600480360360208110156102a057600080fd5b810190602081018135600160201b8111156102ba57600080fd5b8201836020820111156102cc57600080fd5b803590602001918460208302840111600160201b831117156102ed57600080fd5b509092509050610a96565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561033c578181015183820152602001610324565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561037b578181015183820152602001610363565b5050505090500194505050505060405180910390f35b610399610bbf565b60408051918252519081900360200190f35b61026b600480360360208110156103c157600080fd5b810190602081018135600160201b8111156103db57600080fd5b8201836020820111156103ed57600080fd5b803590602001918460208302840111600160201b8311171561040e57600080fd5b509092509050610bcc565b61026b610c08565b61026b6004803603602081101561043757600080fd5b5035610c72565b61026b6004803603602081101561045457600080fd5b50356001600160a01b0316610cdd565b610399610d39565b61026b6004803603602081101561048257600080fd5b5035610d45565b6104b56004803603604081101561049f57600080fd5b50803590602001356001600160a01b0316610d59565b60408051921515835290151560208301528051918290030190f35b6104d8610d82565b6040805192151583526001600160f81b0390911660208301528051918290030190f35b61026b6004803603604081101561051157600080fd5b5080359060200135610d9b565b6104d8610dcf565b61052e610de8565b604080519115158252519081900360200190f35b61026b6004803603602081101561055857600080fd5b810190602081018135600160201b81111561057257600080fd5b82018360208201111561058457600080fd5b803590602001918460208302840111600160201b831117156105a557600080fd5b509092509050610e12565b610399610e4e565b61026b600480360360208110156105ce57600080fd5b5035610e62565b61026b600480360360408110156105eb57600080fd5b5080359060200135610ecd565b61026b6004803603608081101561060e57600080fd5b508035906001600160a01b03602082013516906040810135151590606001351515610ed5565b610399610eef565b6104d86004803603602081101561065257600080fd5b5035610efe565b61026b6004803603608081101561066f57600080fd5b810190602081018135600160201b81111561068957600080fd5b82018360208201111561069b57600080fd5b803590602001918460208302840111600160201b831117156106bc57600080fd5b919390929091602081019035600160201b8111156106d957600080fd5b8201836020820111156106eb57600080fd5b803590602001918460208302840111600160201b8311171561070c57600080fd5b919390929091602081019035600160201b81111561072957600080fd5b82018360208201111561073b57600080fd5b803590602001918460208302840111600160201b8311171561075c57600080fd5b919390929091602081019035600160201b81111561077957600080fd5b82018360208201111561078b57600080fd5b803590602001918460208302840111600160201b831117156107ac57600080fd5b509092509050610f23565b6107bf611014565b604080516001600160a01b039092168252519081900360200190f35b61026b600480360360408110156107f157600080fd5b5080359060200135611023565b61026b61106e565b61026b6110da565b61026b6004803603604081101561082457600080fd5b50803590602001356110ea565b61026b611130565b61026b6111ec565b61026b6004803603604081101561085757600080fd5b810190602081018135600160201b81111561087157600080fd5b82018360208201111561088357600080fd5b803590602001918460208302840111600160201b831117156108a457600080fd5b9193509150356111fc565b61026b600480360360208110156108c557600080fd5b503561123a565b6104d8600480360360208110156108e257600080fd5b503561124b565b6107bf611270565b6108f961127f565b604080516001600160f81b039092168252519081900360200190f35b61026b6004803603604081101561092b57600080fd5b810190602081018135600160201b81111561094557600080fd5b82018360208201111561095757600080fd5b803590602001918460208302840111600160201b8311171561097857600080fd5b919350915035611284565b6102f86004803603602081101561099957600080fd5b810190602081018135600160201b8111156109b357600080fd5b8201836020820111156109c557600080fd5b803590602001918460208302840111600160201b831117156109e657600080fd5b5090925090506112c2565b61026b60048036036020811015610a0757600080fd5b50356113e3565b61026b60048036036020811015610a2457600080fd5b5035611428565b61039961149d565b61026b6114ac565b6104d8611518565b610a4b611531565b565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110610a7d57fe5b602002602001018181525050610a9281611610565b5050565b60608083839050604051908082528060200260200182016040528015610ac6578160200160208202803883390190505b50604080518581526020808702820101909152909250838015610af3578160200160208202803883390190505b50905060005b83811015610bb75760066000868684818110610b1157fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110610b4357fe5b9115156020928302919091019091015260066000868684818110610b6357fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110610ba457fe5b6020908102919091010152600101610af9565b509250929050565b6553797374656d60d01b81565b610a9282828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061161092505050565b610c1a6553797374656d60d01b6116be565b6003805460ff191690819055604080516101009092046001600160f81b03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b610c866745786368616e676560c01b61171b565b600580546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b610ce5611773565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b640a0f2dce8d60db1b81565b610d4d611531565b610d56816117bc565b50565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60045460ff81169061010090046001600160f81b031682565b610da3611531565b610dab61180a565b610db48261184c565b610dbd8161184c565b610dc6826117bc565b610a92816117bc565b60035460ff81169061010090046001600160f81b031682565b60035460009060ff168015610e0d575060035461010090046001600160f81b03166001145b905090565b610a9282828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061189a92505050565b6c50796e746845786368616e676560981b81565b610e766749737375616e636560c01b61171b565b600480546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b610dbd611531565b610edd611773565b610ee984848484611940565b50505050565b6749737375616e636560c01b81565b60066020526000908152604090205460ff81169061010090046001600160f81b031682565b610f2b611773565b8685148015610f3957508483145b8015610f4457508281145b610f95576040805162461bcd60e51b815260206004820152601e60248201527f496e707574206172726179206c656e67746873206d757374206d617463680000604482015290519081900360640190fd5b60005b8781101561100957611001898983818110610faf57fe5b90506020020135888884818110610fc257fe5b905060200201356001600160a01b0316878785818110610fde57fe5b905060200201351515868686818110610ff357fe5b905060200201351515611940565b600101610f98565b505050505050505050565b6001546001600160a01b031681565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061105357fe5b6020026020010181815250506110698183611a72565b505050565b6110826749737375616e636560c01b6116be565b6004805460ff191690819055604080516101009092046001600160f81b03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b6110e2611531565b610a4b61180a565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061111a57fe5b6020026020010181815250506110698183611b18565b6001546001600160a01b031633146111795760405162461bcd60e51b8152600401808060200182810382526035815260200180611c096035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6111f4611531565b610a4b611bc6565b611069838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611a72915050565b611242611531565b610d568161184c565b60076020526000908152604090205460ff81169061010090046001600160f81b031682565b6000546001600160a01b031681565b600181565b611069838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611b18915050565b606080838390506040519080825280602002602001820160405280156112f2578160200160208202803883390190505b5060408051858152602080870282010190915290925083801561131f578160200160208202803883390190505b50905060005b83811015610bb7576007600086868481811061133d57fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff1683828151811061136f57fe5b911515602092830291909101909101526007600086868481811061138f57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b03168282815181106113d057fe5b6020908102919091010152600101611325565b60408051600180825281830190925260609160208083019080388339019050509050818160008151811061141357fe5b602002602001018181525050610a928161189a565b61143a6553797374656d60d01b61171b565b600380546001600160f81b0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b6745786368616e676560c01b81565b6114c06745786368616e676560c01b6116be565b6005805460ff191690819055604080516101009092046001600160f81b03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b60055460ff81169061010090046001600160f81b031682565b60035460ff8116159061010090046001600160f81b031660011461156d576040518060600160405280602e8152602001611c97602e9139611587565b604051806060016040528060408152602001611d1f604091395b90610d565760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115d55781810151838201526020016115bd565b50505050905090810190601f1680156116025780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6116296c50796e746845786368616e676560981b6116be565b60005b8151811015610a9257600082828151811061164357fe5b6020908102919091018101516000818152600683526040908190205481518381526101009091046001600160f81b03169381019390935280519193507fc6cc5bbf2969f74a5166d0bad983455bf7a65b6372af7260400f9b3b04338090928290030190a160009081526006602052604081205560010161162c565b6000818152600260209081526040808320338452909152902054610100900460ff16610d565760405162461bcd60e51b8152600401808060200182810382526021815260200180611d5f6021913960400191505060405180910390fd5b600081815260026020908152604080832033845290915290205460ff16610d565760405162461bcd60e51b8152600401808060200182810382526021815260200180611d5f6021913960400191505060405180910390fd5b6000546001600160a01b03163314610a4b5760405162461bcd60e51b815260040180806020018281038252602f815260200180611cc5602f913960400191505060405180910390fd5b60008181526007602052604090205460ff1615610d565760405162461bcd60e51b8152600401808060200182810382526028815260200180611d806028913960400191505060405180910390fd5b60055460ff1615610a4b5760405162461bcd60e51b815260040180806020018281038252602b815260200180611cf4602b913960400191505060405180910390fd5b60008181526006602052604090205460ff1615610d565760405162461bcd60e51b815260040180806020018281038252602e815260200180611c69602e913960400191505060405180910390fd5b6118ab640a0f2dce8d60db1b6116be565b60005b8151811015610a925760008282815181106118c557fe5b6020908102919091018101516000818152600783526040908190205481518381526101009091046001600160f81b03169381019390935280519193507fddc88fc179cf33f24e5569dd8635c3cd44864e66a1b359bdd9d95e50d94a0d39928290030190a16000908152600760205260408120556001016118ae565b6553797374656d60d01b84148061196157506749737375616e636560c01b84145b8061197657506745786368616e676560c01b84145b8061199057506c50796e746845786368616e676560981b84145b806119a25750640a0f2dce8d60db1b84145b6119f3576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b611a83640a0f2dce8d60db1b61171b565b60005b8251811015611069576000838281518110611a9d57fe5b60209081029190910181015160008181526007835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507ffd3feff79fa642f72408a90c33c6b2ae245bd7077eec45d2502714178e692c86928290030190a150600101611a86565b611b316c50796e746845786368616e676560981b61171b565b60005b8251811015611069576000838281518110611b4b57fe5b60209081029190910181015160008181526006835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507f0af76046e49b0af43f6e092983123f6fb3a25f63bd7096c1bb89649a75a9a494928290030190a150600101611b34565b60045460ff1615610a4b5760405162461bcd60e51b815260040180806020018281038252602b815260200180611c3e602b913960400191505060405180910390fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697049737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656450796e74682065786368616e67652073757370656e6465642e204f7065726174696f6e2070726f686962697465645065726946696e616e63652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645065726946696e616e63652069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e642062795265737472696374656420746f2061636365737320636f6e74726f6c206c69737450796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a265627a7a7231582018f806304970781b8eb73b57b112e4fdff7f40e812c7e7a9c4cea06b9772f04f64736f6c63430005100032",
			"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": "PynthExchangeResumed",
					"type": "event",
					"signature": "0xc6cc5bbf2969f74a5166d0bad983455bf7a65b6372af7260400f9b3b04338090"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthExchangeSuspended",
					"type": "event",
					"signature": "0x0af76046e49b0af43f6e092983123f6fb3a25f63bd7096c1bb89649a75a9a494"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthResumed",
					"type": "event",
					"signature": "0xddc88fc179cf33f24e5569dd8635c3cd44864e66a1b359bdd9d95e50d94a0d39"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthSuspended",
					"type": "event",
					"signature": "0xfd3feff79fa642f72408a90c33c6b2ae245bd7077eec45d2502714178e692c86"
				},
				{
					"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_PYNTH",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1635b0ce"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_PYNTH_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x387da909"
				},
				{
					"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": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "getPynthExchangeSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "exchangeSuspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0d2d7c28"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "getPynthSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "suspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc09290bb"
				},
				{
					"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": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthExchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4ef4a643"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8c38729d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7118d431"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireExchangeBetweenPynthsAllowed",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2cb28bd8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireIssuanceActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c312541"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1d7e7789"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89bb3dfa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthsActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3cb4d443"
				},
				{
					"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": "resumePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd7f2c385"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumePynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x08d10e62"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2e94d93d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumePynthsExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x14acc95f"
				},
				{
					"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": "suspendPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x631070fc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x754a4641"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x87743c36"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynthsExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xad135a16"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe470df58"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "sections",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "bool[]",
							"name": "canSuspends",
							"type": "bool[]"
						},
						{
							"internalType": "bool[]",
							"name": "canResumes",
							"type": "bool[]"
						}
					],
					"name": "updateAccessControls",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x517d60c6"
				}
			],
			"source": {
				"keccak256": "0xd007bffcedcf8fa79fec1aa185613f403ce3a03e7617cddd3acd0adc3899fd19",
				"urls": [
					"bzz-raw://6eb23e961b5a59d1545c61fcbe8357bf2ba06362aa4ca0381a6baa63b16f3d19",
					"dweb:/ipfs/QmZ8V2uf3AcLFJtjHbi2YZCssH2XVbhz6EfuQTiWM4pFWt"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemStatus.sol": "SystemStatus"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SystemStatus.sol": {
						"keccak256": "0xd007bffcedcf8fa79fec1aa185613f403ce3a03e7617cddd3acd0adc3899fd19",
						"urls": [
							"bzz-raw://6eb23e961b5a59d1545c61fcbe8357bf2ba06362aa4ca0381a6baa63b16f3d19",
							"dweb:/ipfs/QmZ8V2uf3AcLFJtjHbi2YZCssH2XVbhz6EfuQTiWM4pFWt"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeRates": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200517238038062005172833981810160405260a08110156200003757600080fd5b8151602083015160408085015160608601805192519496939591949391820192846401000000008211156200006b57600080fd5b9083019060208201858111156200008157600080fd5b82518660208202830111640100000000821117156200009f57600080fd5b82525081516020918201928201910280838360005b83811015620000ce578181015183820152602001620000b4565b5050505090500160405260200180516040519392919084640100000000821115620000f857600080fd5b9083019060208201858111156200010e57600080fd5b82518660208202830111640100000000821117156200012c57600080fd5b82525081516020918201928201910280838360005b838110156200015b57818101518382015260200162000141565b5050505090500160405250505082808660006001600160a01b0316816001600160a01b03161415620001d4576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055508051825114620002905760405162461bcd60e51b815260040180806020018281038252602f81526020018062005080602f913960400191505060405180910390fd5b83600560006101000a8154816001600160a01b0302191690836001600160a01b0316021790555062000346631c1554d160e21b73__$81fd87b331096e90074cc3e2c16d5bc3ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030857600080fd5b505af41580156200031d573d6000803e3d6000fd5b505050506040513d60208110156200033457600080fd5b5051426001600160e01b036200036816565b6200035c8282426001600160e01b03620003e116565b50505050505062000c59565b6000838152600c60209081526040808320805460010190819055815180830183526001600160d81b03968716815264ffffffffff958616818501908152978552600484528285209185529252909120905181549451909216600160d81b029183166001600160d81b031990941693909317909116179055565b60008251845114620004255760405162461bcd60e51b8152600401808060200182810382526038815260200180620051016038913960400191505060405180910390fd5b610258420182106200047e576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015620005975760008582815181106200049a57fe5b60200260200101519050848281518110620004b157fe5b602002602001015160001415620004fa5760405162461bcd60e51b8152600401808060200182810382526039815260200180620051396039913960400191505060405180910390fd5b80631c1554d160e21b1415620005425760405162461bcd60e51b8152600401808060200182810382526031815260200180620050d06031913960400191505060405180910390fd5b62000556816001600160e01b036200066216565b8410156200056557506200058e565b6200058c818684815181106200057757fe5b6020026020010151866200036860201b60201c565b505b60010162000481565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101562000601578181015183820152602001620005e7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156200064257818101518382015260200162000628565b5050505090500194505050505060405180910390a15060015b9392505050565b600062000678826001600160e01b036200068b16565b6020015164ffffffffff1690505b919050565b6200069562000c0f565b6000828152600760205260409020546001600160a01b0316620006c1836001600160e01b03620008f016565b15620008445760408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b1781529151815191926000926060926001600160a01b0387169286928291908083835b60208310620007305780518252601f1990920191602091820191016200070f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811462000792576040519150601f19603f3d011682016040523d82523d6000602084013e62000797565b606091505b509150915081156200083b5760008060008380602001905160a0811015620007be57600080fd5b50805160208201516060909201516040805180820190915291955091935090915080620008138b620007fa81876001600160e01b036200092c16565b6001600160501b0388166001600160e01b03620009f016565b6001600160d81b031681526020018264ffffffffff1681525097505050505050505062000686565b505050620008ea565b6000838152600c60205260409020546200085d62000c0f565b5060008481526004602090815260408083208484528252918290208251808401845290546001600160d81b038082168352600160d81b90910464ffffffffff1692820192909252825180840190935280519092918291620008c29189911686620009f0565b6001600160d81b03168152602001826020015164ffffffffff16815250935050505062000686565b50919050565b60008181526006602052604081205460ff161580156200092657506000828152600760205260409020546001600160a01b031615155b92915050565b60008082121562000984576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526008602052604090205460ff1615620008ea576000838152600860209081526040822054620009c89160129160ff16906200409862000b53821b17901c565b600a0a9050620009e7818462000bb160201b620038cd1790919060201c565b91505062000926565b6000620009fc62000c26565b506000848152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff808216151560608501526101009091041615156080830152158062000a5d575083155b1562000a6d57839150506200065b565b6000858152600d602052604090205484925080841080159062000a91575081606001515b1562000aa4578160200151925062000b4a565b80841015801562000ab6575081608001515b1562000ac9578160400151925062000b4a565b600062000aea6002846000015162000bb160201b620038cd1790919060201c565b905085811162000afe576000935062000b1b565b62000b18868262000b5360201b620040981790919060201c565b93505b8260200151841062000b34578260200151935062000b48565b8260400151841162000b4857826040015193505b505b50509392505050565b60008282111562000bab576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008262000bc25750600062000926565b8282028284828162000bd057fe5b04146200065b5760405162461bcd60e51b8152600401808060200182810382526021815260200180620050af6021913960400191505060405180910390fd5b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b6144178062000c696000396000f3fe608060405234801561001057600080fd5b50600436106103355760003560e01c8063728dec29116101b2578063af3aea86116100f9578063c8e5bbd5116100a2578063de02795e1161007c578063de02795e14610c8d578063de630ba714610caa578063eedb421e14610cb2578063fdadbc7e14610ccf57610335565b8063c8e5bbd514610b84578063c8e6f39514610c53578063ce8480ea14610c7057610335565b8063becb1954116100d3578063becb195414610a2d578063bfa005ce14610a52578063c2c8a67614610b1457610335565b8063af3aea861461099e578063b199c764146109bb578063b295ad34146109fa57610335565b80637f6e9d151161015b5780638da5cb5b116101355780638da5cb5b1461095c578063935f4abd14610964578063ac82f6081461098157610335565b80637f6e9d15146108f05780638295016a1461090d578063899ffef41461095457610335565b80637a018a1e1161018c5780637a018a1e146108985780637adbf973146108b55780637dc0d1d0146108e857610335565b8063728dec291461083c578063741853601461088857806379ba50971461089057610335565b80632bed9e0c116102815780634308a94f1161022a5780634f72def6116102045780634f72def6146107d157806353a47bb7146107ee578063654a60ac146107f65780637103353e1461081f57610335565b80634308a94f1461077657806345938849146107ac5780634c36b837146107c957610335565b80633375fcd11161025b5780633375fcd11461070357806338aa1b99146107205780633f0e084f1461073d57610335565b80632bed9e0c1461060d5780632d7371e11461062a5780632ea913d4146106e657610335565b8063109e46a2116102e3578063266da16b116102bd578063266da16b1461059d5780632678df96146105d25780632af64bd31461060557610335565b8063109e46a21461051c5780631627540c1461054b5780632528f0fe1461058057610335565b80630a7d36d1116103145780630a7d36d11461045c5780630c71cd23146104cc5780630ee4951b1461050257610335565b80629919c01461033a57806304f3bcec1461036b57806305a046e51461039c575b600080fd5b6103576004803603602081101561035057600080fd5b5035610cf2565b604080519115158252519081900360200190f35b610373610d0d565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61040c600480360360208110156103b257600080fd5b8101906020810181356401000000008111156103cd57600080fd5b8201836020820111156103df57600080fd5b8035906020019184602083028401116401000000008311171561040157600080fd5b509092509050610d29565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610448578181015183820152602001610430565b505050509050019250505060405180910390f35b6103576004803603602081101561047257600080fd5b81019060208101813564010000000081111561048d57600080fd5b82018360208201111561049f57600080fd5b803590602001918460208302840111640100000000831117156104c157600080fd5b509092509050610dab565b6104e9600480360360208110156104e257600080fd5b5035610e5e565b6040805192835290151560208301528051918290030190f35b61050a610f24565b60408051918252519081900360200190f35b61050a6004803603608081101561053257600080fd5b5080359060208101359060408101359060600135610f34565b61057e6004803603602081101561056157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f77565b005b6103576004803603602081101561059657600080fd5b5035610ff8565b61050a600480360360a08110156105b357600080fd5b5080359060208101359060408101359060608101359060800135611018565b61040c600480360360208110156105e857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611085565b610357611146565b61057e6004803603602081101561062357600080fd5b5035611290565b61064d6004803603604081101561064057600080fd5b50803590602001356113dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610691578181015183820152602001610679565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156106d05781810151838201526020016106b8565b5050505090500194505050505060405180910390f35b61050a600480360360208110156106fc57600080fd5b50356114cd565b6103576004803603602081101561071957600080fd5b50356114eb565b6103576004803603602081101561073657600080fd5b50356115b1565b61057e6004803603604081101561075357600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff166115bf565b6107936004803603602081101561078c57600080fd5b503561186f565b6040805192835260208301919091528051918290030190f35b61057e600480360360208110156107c257600080fd5b50356118bb565b6103736119a8565b61050a600480360360208110156107e757600080fd5b50356119b2565b6103736119bf565b61050a6004803603606081101561080c57600080fd5b50803590602081013590604001356119db565b6103736004803603602081101561083557600080fd5b50356119f3565b6108596004803603602081101561085257600080fd5b5035611a1b565b604080519586526020860194909452848401929092521515606084015215156080830152519081900360a00190f35b61057e611a4e565b61057e611c61565b61050a600480360360208110156108ae57600080fd5b5035611d5c565b61057e600480360360208110156108cb57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611d67565b610373611dee565b61050a6004803603602081101561090657600080fd5b5035611e0a565b6109366004803603606081101561092357600080fd5b5080359060208101359060400135611e1c565b60408051938452602084019290925282820152519081900360600190f35b61040c611e3c565b610373611eb8565b61050a6004803603602081101561097a57600080fd5b5035611ed4565b61050a6004803603602081101561099757600080fd5b5035611ee6565b610357600480360360208110156109b457600080fd5b5035611f15565b61057e600480360360c08110156109d157600080fd5b50803590602081013590604081013590606081013590608081013515159060a001351515611f20565b610a1760048036036020811015610a1057600080fd5b50356122f5565b6040805160ff9092168252519081900360200190f35b61057e60048036036040811015610a4357600080fd5b5080359060200135151561230a565b61035760048036036060811015610a6857600080fd5b810190602081018135640100000000811115610a8357600080fd5b820183602082011115610a9557600080fd5b80359060200191846020830284011164010000000083111715610ab757600080fd5b919390929091602081019035640100000000811115610ad557600080fd5b820183602082011115610ae757600080fd5b80359060200191846020830284011164010000000083111715610b0957600080fd5b919350915035612350565b61040c60048036036020811015610b2a57600080fd5b810190602081018135640100000000811115610b4557600080fd5b820183602082011115610b5757600080fd5b80359060200191846020830284011164010000000083111715610b7957600080fd5b5090925090506123d3565b610bf460048036036020811015610b9a57600080fd5b810190602081018135640100000000811115610bb557600080fd5b820183602082011115610bc757600080fd5b80359060200191846020830284011164010000000083111715610be957600080fd5b50909250905061244b565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015610c3e578181015183820152602001610c26565b50505050905001935050505060405180910390f35b61057e60048036036020811015610c6957600080fd5b50356125bf565b61050a60048036036020811015610c8657600080fd5b50356126cd565b61057e60048036036020811015610ca357600080fd5b50356126d8565b610936612900565b61035760048036036020811015610cc857600080fd5b503561290c565b61079360048036036040811015610ce557600080fd5b5080359060200135612921565b6000610d0582610d00612939565b612a0c565b90505b919050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60608083839050604051908082528060200260200182016040528015610d59578160200160208202803883390190505b50905060005b83811015610da157610d82858583818110610d7657fe5b90506020020135612a57565b828281518110610d8e57fe5b6020908102919091010152600101610d5f565b5090505b92915050565b600080610db6612939565b90506060610df6858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7392505050565b905060005b84811015610e5257818181518110610e0f57fe5b602002602001015180610e395750610e39868683818110610e2c57fe5b9050602002013584612a0c565b15610e4a5760019350505050610da5565b600101610dfb565b50600095945050505050565b600080610e6961415f565b610e7284612d21565b9050837f70555344000000000000000000000000000000000000000000000000000000001415610ec557517affffffffffffffffffffffffffffffffffffffffffffffffffffff16915060009050610f1f565b8051610ee3610ed2612939565b836020015164ffffffffff1661300c565b80610efa5750610efa85610ef5613027565b6130c9565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff90911693509150505b915091565b6000610f2e612939565b90505b90565b600083815b610f468783600101613201565b915050801580610f57575083850181115b15610f6457509050610f6f565b600190910190610f39565b949350505050565b610f7f613471565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600061100682610d00612939565b80610d055750610d0582610ef5613027565b60008386141561102957508361107c565b60006110358785613201565b50905060006110448685613201565b509050806110575760009250505061107c565b6110778161106b898563ffffffff6134c916565b9063ffffffff6134de16565b925050505b95945050505050565b6009546040805182815260208084028201019091526060916000919080156110b7578160200160208202803883390190505b50915060005b60095481101561113f576000600982815481106110d657fe5b6000918252602080832090910154808352600790915260409091205490915073ffffffffffffffffffffffffffffffffffffffff9081169086161415611136578084848060010195508151811061112957fe5b6020026020010181815250505b506001016110bd565b5050919050565b60006060611152611e3c565b905060005b815181101561128757600082828151811061116e57fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a72100000000000000000000000000000000000000000000000000000000815260048101859052925193955073ffffffffffffffffffffffffffffffffffffffff918216949116926321f8a721926024808201939291829003018186803b1580156111fc57600080fd5b505afa158015611210573d6000803e3d6000fd5b505050506040513d602081101561122657600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614158061126d575060008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff16155b1561127e5760009350505050610f31565b50600101611157565b50600191505090565b611298613471565b60008181526007602052604090205473ffffffffffffffffffffffffffffffffffffffff168061130f576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b657900000000604482015290519081900360640190fd5b600082815260076020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556008909152812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905561137e8360096134f3565b905080156113d7576040805184815273ffffffffffffffffffffffffffffffffffffffff8416602082015281517fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777929181900390910190a15b505050565b60608082604051908082528060200260200182016040528015611409578160200160208202803883390190505b50915082604051908082528060200260200182016040528015611436578160200160208202803883390190505b5090506000611444856135d3565b905060005b848110156114c35761145b8683613201565b85838151811061146757fe5b6020026020010185848151811061147a57fe5b6020908102919091010191909152528161149657506114c69050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90910190600101611449565b50505b9250929050565b600b81815481106114da57fe5b600091825260209091200154905081565b60006114f5614176565b506000828152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff8082161515606085015261010090910416151560808301521580611558575080606001515b80611564575080608001515b15611573576000915050610d08565b600061157e84611ee6565b90506000811180156115a257508160200151811015806115a2575081604001518111155b92505050610d08565b50919050565b6000610d0582610ef5613027565b6115c7613471565b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561161457600080fd5b505afa158015611628573d6000803e3d6000fd5b505050506040513d602081101561163e57600080fd5b50511015611693576040805162461bcd60e51b815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c69640000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156116db57600080fd5b505afa1580156116ef573d6000803e3d6000fd5b505050506040513d602081101561170557600080fd5b50519050601260ff8216111561174c5760405162461bcd60e51b81526004018080602001828103825260328152602001806143516032913960400191505060405180910390fd5b60008481526007602052604090205473ffffffffffffffffffffffffffffffffffffffff166117ab57600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af018490555b600084815260076020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155600883529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff861617905580518781529182019290925281517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63929181900390910190a150505050565b60008061187a61415f565b61188384612d21565b80516020909101517affffffffffffffffffffffffffffffffffffffffffffffffffffff909116935064ffffffffff16915050915091565b6118c3613697565b60006118ce82611ee6565b11611920576040805162461bcd60e51b815260206004820152600c60248201527f52617465206973207a65726f0000000000000000000000000000000000000000604482015290519081900360640190fd5b6000818152600460209081526040808320600c808452828520805486529184528285208590559385905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909255815183815291517fe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae19281900390910190a150565b6000610f2e613027565b600981815481106114da57fe5b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60006119e88484846136ed565b509095945050505050565b60076020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b600a6020526000908152604090208054600182015460028301546003909301549192909160ff8082169161010090041685565b6060611a58611e3c565b905060005b8151811015611c5d576000828281518110611a7457fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d840152815195975060009673ffffffffffffffffffffffffffffffffffffffff9095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611b50578181015183820152602001611b38565b50505050905090810190601f168015611b7d5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015611b9b57600080fd5b505afa158015611baf573d6000803e3d6000fd5b505050506040513d6020811015611bc557600080fd5b505160008381526003602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611a5d565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611cb75760405162461bcd60e51b81526004018080602001828103825260358152602001806141e76035913960400191505060405180910390fd5b6000546001546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b6000610d05826135d3565b611d6f613471565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179182905560408051929091168252517f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394916020908290030190a150565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b600d6020526000908152604090205481565b6000806000611e2c8686866136ed565b9250925092505b93509350939050565b606080611e4761373f565b60408051600180825281830190925291925060609190602080830190803883390190505090507f45786368616e676572000000000000000000000000000000000000000000000081600081518110611e9b57fe5b602002602001018181525050611eb1828261379e565b9250505090565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020526000908152604090205481565b6000611ef182612d21565b517affffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b6000610d058261385a565b611f28613471565b60008311611f7d576040805162461bcd60e51b815260206004820152601a60248201527f6c6f7765724c696d6974206d7573742062652061626f76652030000000000000604482015290519081900360640190fd5b848411611fbb5760405162461bcd60e51b81526004018080602001828103825260278152602001806143bc6027913960400191505060405180910390fd5b611fcc85600263ffffffff6138cd16565b84106120095760405162461bcd60e51b815260040180806020018281038252602e815260200180614323602e913960400191505060405180910390fd5b8483106120475760405162461bcd60e51b81526004018080602001828103825260278152602001806142fc6027913960400191505060405180910390fd5b8180156120515750805b156120a3576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f7420667265657a6520617420626f7468206c696d69747300000000604482015290519081900360640190fd5b6000868152600a6020526040902080546120ed57600b80546001810182556000919091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9018790555b858155600181018590556002810184905582806121075750815b156121dc576003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841515177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010084151502179055600061216f886135d3565b6000898152600d6020526040902081905590507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df088856121af57866121b1565b875b604080519283526020830191909152818101849052336060830152519081900360800190a150612216565b6003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556000878152600d60205260408120555b600061222188611ee6565b905080156122a457612231613926565b73ffffffffffffffffffffffffffffffffffffffff166357630a4089836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561228b57600080fd5b505af115801561229f573d6000803e3d6000fd5b505050505b60408051898152602081018990528082018890526060810187905290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050505050505050565b60086020526000908152604090205460ff1681565b612312613471565b60009182526006602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600061235a613697565b6123c986868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808a02828101820190935289825290935089925088918291850190849080828437600092019190915250879250613951915050565b9695505050505050565b60608083839050604051908082528060200260200182016040528015612403578160200160208202803883390190505b50905060005b83811015610da15761242c85858381811061242057fe5b90506020020135611ee6565b82828151811061243857fe5b6020908102919091010152600101612409565b606060008383905060405190808252806020026020018201604052801561247c578160200160208202803883390190505b5091506000612489612939565b905060606124c9868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7392505050565b905060005b858110156125b5576124de61415f565b6124f98888848181106124ed57fe5b90506020020135612d21565b905080600001517affffffffffffffffffffffffffffffffffffffffffffffffffffff1686838151811061252957fe5b60200260200101818152505084158015612575575087878381811061254a57fe5b905060200201357f705553440000000000000000000000000000000000000000000000000000000014155b156125ac5782828151811061258657fe5b6020026020010151806125a957506125a984826020015164ffffffffff1661300c565b94505b506001016124ce565b5050509250929050565b6125c7613471565b6000818152600a6020526040902054612627576040805162461bcd60e51b815260206004820152601860248201527f4e6f20696e766572746564207072696365206578697374730000000000000000604482015290519081900360640190fd5b6000818152600a60205260408120818155600181018290556002810182905560030180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016905561267a82600b6134f3565b90508015611c5d5760408051838152600060208201819052818301819052606082015290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050565b6000610d0582612a57565b6000818152600a602052604090208054612739576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420667265657a65206e6f6e2d696e766572736520726174650000604482015290519081900360640190fd5b600381015460ff1615801561275857506003810154610100900460ff16155b6127a9576040805162461bcd60e51b815260206004820152601a60248201527f546865207261746520697320616c72656164792066726f7a656e000000000000604482015290519081900360640190fd5b60006127b483611ee6565b90506000811180156127d857508160010154811015806127d8575081600201548111155b156128b357600182015460038301805460028501548414610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090921693851493909317169190911790556000612851846135d3565b6000858152600d6020908152604091829020839055815187815290810185905280820183905233606082015290519192507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0919081900360800190a1506113d7565b6040805162461bcd60e51b815260206004820152601260248201527f526174652077697468696e20626f756e64730000000000000000000000000000604482015290519081900360640190fd5b42610258808201909192565b60066020526000908152604090205460ff1681565b60008061292e8484613201565b915091509250929050565b6000612943613bc5565b73ffffffffffffffffffffffffffffffffffffffff166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f726174655374616c65506572696f6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156129db57600080fd5b505afa1580156129ef573d6000803e3d6000fd5b505050506040513d6020811015612a0557600080fd5b5051905090565b6000827f70555344000000000000000000000000000000000000000000000000000000001415612a3e57506000610da5565b612a5082612a4b85612a57565b61300c565b9392505050565b6000612a6282612d21565b6020015164ffffffffff1692915050565b60606000612a7f613027565b905073ffffffffffffffffffffffffffffffffffffffff811615612cee5760608351604051908082528060200260200182016040528015612aca578160200160208202803883390190505b50905060005b8451811015612b595760076000868381518110612ae957fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110612b2c57fe5b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101612ad0565b506040517f7d723cac00000000000000000000000000000000000000000000000000000000815260206004820181815283516024840152835173ffffffffffffffffffffffffffffffffffffffff861693637d723cac93869392839260440191808601910280838360005b83811015612bdc578181015183820152602001612bc4565b505050509050019250505060006040518083038186803b158015612bff57600080fd5b505afa158015612c13573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015612c5a57600080fd5b8101908080516040519392919084640100000000821115612c7a57600080fd5b908301906020820185811115612c8f57600080fd5b8251866020820283011164010000000082111715612cac57600080fd5b82525081516020918201928201910280838360005b83811015612cd9578181015183820152602001612cc1565b505050509050016040525050509250506115ab565b8251604051908082528060200260200182016040528015612d19578160200160208202803883390190505b509392505050565b612d2961415f565b60008281526007602052604090205473ffffffffffffffffffffffffffffffffffffffff16612d5783613bf0565b15612f2b5760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ffeaf968c0000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b60208310612e1c57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612ddf565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114612e7c576040519150601f19603f3d011682016040523d82523d6000602084013e612e81565b606091505b50915091508115612f235760008060008380602001905160a0811015612ea657600080fd5b50805160208201516060909201516040805180820190915291955091935090915080612ee88b612ed68187613c35565b8769ffffffffffffffffffff16613cde565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020018264ffffffffff16815250975050505050505050610d08565b5050506115ab565b6000838152600c6020526040902054612f4261415f565b5060008481526004602090815260408083208484528252918290208251808401845290547affffffffffffffffffffffffffffffffffffffffffffffffffffff80821683527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff1692820192909252825180840190935280519092918291612fd19189911686613cde565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff168152602001826020015164ffffffffff168152509350505050610d08565b60004261301f838563ffffffff613e1c16565b109392505050565b6000613031613bc5565b73ffffffffffffffffffffffffffffffffffffffff16639ee5955a7f53797374656d53657474696e67730000000000000000000000000000000000007f61676772656761746f725761726e696e67466c616773000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156129db57600080fd5b6000827f705553440000000000000000000000000000000000000000000000000000000014156130fb57506000610da5565b60008381526007602052604090205473ffffffffffffffffffffffffffffffffffffffff16801580613141575073ffffffffffffffffffffffffffffffffffffffff8316155b15613150576000915050610da5565b8273ffffffffffffffffffffffffffffffffffffffff1663357e47fe826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156131cd57600080fd5b505afa1580156131e1573d6000803e3d6000fd5b505050506040513d60208110156131f757600080fd5b5051949350505050565b600082815260076020526040812054819073ffffffffffffffffffffffffffffffffffffffff1661323185613bf0565b156133c95760408051602480820187905282518083039091018152604490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9a6fc8f50000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b6020831061330557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016132c8565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613365576040519150601f19603f3d011682016040523d82523d6000602084013e61336a565b606091505b509150915081156133c1576000808280602001905160a081101561338d57600080fd5b50602081015160609091015190925090506133b28a6133ac8185613c35565b8b613cde565b975095506114c6945050505050565b505050613469565b6133d161415f565b5060008581526004602090815260408083208784528252918290208251808401909352547affffffffffffffffffffffffffffffffffffffffffffffffffffff81168084527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff169183019190915261345090879087613cde565b60209091015190935064ffffffffff1691506114c69050565b509250929050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146134c75760405162461bcd60e51b815260040180806020018281038252602f815260200180614243602f913960400191505060405180910390fd5b565b6000612a508383670de0b6b3a7640000613e76565b6000612a508383670de0b6b3a7640000613eb3565b6000805b82548110156135c9578383828154811061350d57fe5b906000526020600020015414156135c15782818154811061352a57fe5b6000918252602082200155825483907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061356557fe5b906000526020600020015483828154811061357c57fe5b60009182526020909120015582546135b6847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83016141a9565b506001915050610da5565b6001016134f7565b5060009392505050565b60008181526007602052604081205473ffffffffffffffffffffffffffffffffffffffff1661360183613bf0565b15613681578073ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561364c57600080fd5b505afa158015613660573d6000803e3d6000fd5b505050506040513d602081101561367657600080fd5b50519150610d089050565b50506000818152600c6020526040902054610d08565b60055473ffffffffffffffffffffffffffffffffffffffff1633146134c75760405162461bcd60e51b815260040180806020018281038252602781526020018061421c6027913960400191505060405180910390fd5b60008060006136fb86611ee6565b91508386141561370f575083915080611e33565b61371884611ee6565b90508015611e33576137348161106b878563ffffffff6134c916565b925093509350939050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061378f57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156137ce578160200160208202803883390190505b50905060005b8351811015613810578381815181106137e957fe5b60200260200101518282815181106137fd57fe5b60209081029190910101526001016137d4565b5060005b82518110156138535782818151811061382957fe5b602002602001015182828651018151811061384057fe5b6020908102919091010152600101613814565b5092915050565b6000613864614176565b506000828152600a6020908152604091829020825160a0810184528154815260018201549281019290925260028101549282019290925260039091015460ff808216151560608401819052610100909204161515608083015280612a5057506080015192915050565b6000826138dc57506000610da5565b828202828482816138e957fe5b0414612a505760405162461bcd60e51b81526004018080602001828103825260218152602001806142726021913960400191505060405180910390fd5b6000610f2e7f45786368616e6765720000000000000000000000000000000000000000000000613ee5565b600082518451146139935760405162461bcd60e51b81526004018080602001828103825260388152602001806142c46038913960400191505060405180910390fd5b610258420182106139eb576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015613aff576000858281518110613a0557fe5b60200260200101519050848281518110613a1b57fe5b602002602001015160001415613a625760405162461bcd60e51b81526004018080602001828103825260398152602001806143836039913960400191505060405180910390fd5b807f70555344000000000000000000000000000000000000000000000000000000001415613ac15760405162461bcd60e51b81526004018080602001828103825260318152602001806142936031913960400191505060405180910390fd5b613aca81612a57565b841015613ad75750613af7565b613af581868481518110613ae757fe5b602002602001015186613fdb565b505b6001016139ee565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613b67578181015183820152602001613b4f565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613ba6578181015183820152602001613b8e565b5050505090500194505050505060405180910390a15060019392505050565b6000610f2e7f466c657869626c6553746f726167650000000000000000000000000000000000613ee5565b60008181526006602052604081205460ff16158015610d0557505060009081526007602052604090205473ffffffffffffffffffffffffffffffffffffffff16151590565b600080821215613c8c576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526008602052604090205460ff16156115ab57600083815260086020526040812054613cc19060129060ff16614098565b600a0a9050613cd6838263ffffffff6138cd16565b915050610da5565b6000613ce8614176565b506000848152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff8082161515606085015261010090910416151560808301521580613d48575083155b15613d565783915050612a50565b6000858152600d6020526040902054849250808410801590613d79575081606001515b15613d8a5781602001519250613e13565b808410158015613d9b575081608001515b15613dac5781604001519250613e13565b8151600090613dc290600263ffffffff6138cd16565b9050858111613dd45760009350613de7565b613de4818763ffffffff61409816565b93505b82602001518410613dfe5782602001519350613e11565b82604001518411613e1157826040015193505b505b50509392505050565b600082820183811015612a50576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600a8304613e8d868663ffffffff6138cd16565b81613e9457fe5b0490506005600a825b0610613ea757600a015b600a9004949350505050565b600080613ed984613ecd87600a870263ffffffff6138cd16565b9063ffffffff6140f516565b90506005600a82613e9d565b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a2000000000000000000000000000000093810193909352603180840186905282518085039091018152605190930190915273ffffffffffffffffffffffffffffffffffffffff1690816138535760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613fa0578181015183820152602001613f88565b50505050905090810190601f168015613fcd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000838152600c60209081526040808320805460010190819055815180830183527affffffffffffffffffffffffffffffffffffffffffffffffffffff968716815264ffffffffff9586168185019081529785526004845282852091855292529091209051815494519092167b01000000000000000000000000000000000000000000000000000000029183167fffffffffff00000000000000000000000000000000000000000000000000000090941693909317909116179055565b6000828211156140ef576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080821161414b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161415657fe5b04949350505050565b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b8154818355818111156113d7576000838152602090206113d7918101908301610f3191905b808211156141e257600081556001016141ce565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c7920746865206f7261636c652063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7752617465206f6620705553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e43757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e6c6f7765724c696d6974206d7573742062652062656c6f772074686520656e747279506f696e7475707065724c696d6974206d757374206265206c657373207468616e20646f75626c6520656e747279506f696e7441676772656761746f7220646563696d616c732073686f756c64206265206c6f776572206f7220657175616c20746f2031385a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e75707065724c696d6974206d7573742062652061626f76652074686520656e747279506f696e74a265627a7a723158202e69ef1f85a4223da1aef5dbe7c37ad55765ff57a873267446b761ffe70f5c2c64736f6c6343000510003243757272656e6379206b6579206c656e67746820616e642072617465206c656e677468206d757374206d617463682e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7752617465206f6620705553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e43757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e5a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_oracle",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"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": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"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"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "initiator",
							"type": "address"
						}
					],
					"name": "InversePriceFrozen",
					"type": "event",
					"signature": "0xf72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0"
				},
				{
					"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": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "newRates",
							"type": "uint256[]"
						}
					],
					"name": "RatesUpdated",
					"type": "event",
					"signature": "0x1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba57"
				},
				{
					"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": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c36b837"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "aggregators",
					"outputs": [
						{
							"internalType": "contract AggregatorV2V3Interface",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7103353e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "anyRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a7d36d1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "canFreezeRate",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3375fcd1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "currenciesUsingAggregator",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencies",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2678df96"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currencyByExternal",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeedb421e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currencyKeyDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb295ad34"
				},
				{
					"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": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "freezeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xde02795e"
				},
				{
					"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": 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": "frozenAtUpperLimit",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "frozenAtLowerLimit",
							"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": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"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": "nowPlusLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xde630ba7"
				},
				{
					"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"
						}
					],
					"name": "rateAndInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0c71cd23"
				},
				{
					"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": "rateIsFlagged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x38aa1b99"
				},
				{
					"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": "rateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2528f0fe"
				},
				{
					"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": "ratesAndInvalidForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "rates",
							"type": "uint256[]"
						},
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8e5bbd5"
				},
				{
					"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": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"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": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "roundFrozen",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7f6e9d15"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "_set",
							"type": "bool"
						}
					],
					"name": "setCurrencyToExternalAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbecb1954"
				},
				{
					"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": "freezeAtUpperLimit",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "freezeAtLowerLimit",
							"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": "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"
				}
			],
			"source": {
				"keccak256": "0x96609f739d314a707eb150ed8883e75d40919604583d99b6047e879684f44c2e",
				"urls": [
					"bzz-raw://2835958af8a14b1479d25550c8f9ad1dd3f8def6f6bf658c17ee4cf9b16e9fa6",
					"dweb:/ipfs/Qmac81WuSvmJPGEqH3RcQutja4zVTBb3wTudnfTcMMc6s6"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeRates.sol": "ExchangeRates"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 20000
					},
					"remappings": []
				},
				"sources": {
					"ExchangeRates.sol": {
						"keccak256": "0x96609f739d314a707eb150ed8883e75d40919604583d99b6047e879684f44c2e",
						"urls": [
							"bzz-raw://2835958af8a14b1479d25550c8f9ad1dd3f8def6f6bf658c17ee4cf9b16e9fa6",
							"dweb:/ipfs/Qmac81WuSvmJPGEqH3RcQutja4zVTBb3wTudnfTcMMc6s6"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516112e23803806112e28339818101604052606081101561003357600080fd5b5080516020820151604090920151909190826001600160a01b0381166100a0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055506111ad806101356000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80636b3905c4116100de5780639b217f9011610097578063cb5147b211610071578063cb5147b21461045d578063d0cc82e314610483578063da7bd3e91461048b578063ee1d036c146104b757610173565b80639b217f90146103fd578063ae2e933b14610429578063b5ddb9c71461043157610173565b80636b3905c41461037357806370a082311461039957806371e780f3146103bf57806379ba5097146103c75780638da5cb5b146103cf57806397f46527146103d757610173565b8063326a3cfb11610130578063326a3cfb146102ab578063449d0eb1146102d1578063458efde31461030d57806345e5441f146103155780634e5a60911461034757806353a47bb71461036b57610173565b80631627540c1461017857806319db2228146101a057806319e740c0146101c6578063204b676a146101fe578063227d517a146102245780632f5bb6611461024a575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b03166104e3565b005b61019e600480360360208110156101b657600080fd5b50356001600160a01b031661053f565b6101ec600480360360208110156101dc57600080fd5b50356001600160a01b031661059b565b60408051918252519081900360200190f35b6101ec6004803603602081101561021457600080fd5b50356001600160a01b03166105dd565b6101ec6004803603602081101561023a57600080fd5b50356001600160a01b03166105f8565b6102706004803603602081101561026057600080fd5b50356001600160a01b031661060a565b6040518082600260200280838360005b83811015610298578181015183820152602001610280565b5050505090500191505060405180910390f35b6101ec600480360360208110156102c157600080fd5b50356001600160a01b031661065b565b6102f7600480360360208110156102e757600080fd5b50356001600160a01b031661066d565b6040518151815280826141008083836020610280565b61019e6106f3565b6101ec6004803603606081101561032b57600080fd5b506001600160a01b0381351690602081013590604001356108dc565b61034f610918565b604080516001600160a01b039092168252519081900360200190f35b61034f610927565b6101ec6004803603602081101561038957600080fd5b50356001600160a01b0316610936565b6101ec600480360360208110156103af57600080fd5b50356001600160a01b031661094f565b6101ec61096a565b61019e610970565b61034f610a2c565b6101ec600480360360208110156103ed57600080fd5b50356001600160a01b0316610a3b565b6101ec6004803603604081101561041357600080fd5b506001600160a01b038135169060200135610a4d565b61034f610a68565b61019e6004803603604081101561044757600080fd5b506001600160a01b038135169060200135610a77565b61019e6004803603602081101561047357600080fd5b50356001600160a01b0316610ad0565b6101ec610b2c565b610270600480360360408110156104a157600080fd5b506001600160a01b038135169060200135610b32565b6101ec600480360360408110156104cd57600080fd5b506001600160a01b038135169060200135610ba1565b6104eb610bb4565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610547610bb4565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb62959181900360200190a150565b6000806105a7836105dd565b905060005b818110156105d4576105be8482610a4d565b156105cc5791506105d89050565b6001016105ac565b5090505b919050565b6001600160a01b031660009081526004602052604090205490565b60066020526000908152604090205481565b610612610f98565b600061061d8361059b565b9050610628836105dd565b81141561064a57505060408051808201909152600080825260208201526105d8565b6106548382610b32565b9392505050565b60056020526000908152604090205481565b610675610fb6565b61067d610fb6565b6000610688846105dd565b905060005b818110156106ea5761069d610f98565b6106a78683610b32565b8051909150846002840261020881106106bc57fe5b60200201528060016020020151848360020260010161020881106106dc57fe5b60200201525060010161068d565b50909392505050565b60006106fe336105dd565b90506000805b828110156107a35760006107183383610a4d565b90504281111561072857506107a3565b60006107343384610ba1565b905080156107995760408051808201825260008082526020808301829052338252600490529190912080548590811061076957fe5b9060005260206000209060020201906002610785929190610fd6565b50610796848263ffffffff610bff16565b93505b5050600101610704565b5080156108d8576007546107bd908263ffffffff610c5916565b600755336000908152600560205260409020546107e0908263ffffffff610c5916565b3360009081526005602090815260408083209390935560069052205461080c908263ffffffff610bff16565b33600081815260066020908152604080832094909455600254845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b15801561087157600080fd5b505af1158015610885573d6000803e3d6000fd5b505050506040513d602081101561089b57600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b600460205282600052604060002082815481106108f557fe5b9060005260206000209060020201816002811061090e57fe5b0154925083915050565b6002546001600160a01b031681565b6001546001600160a01b031681565b60006109418261060a565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b60075481565b6001546001600160a01b031633146109b95760405162461bcd60e51b81526004018080602001828103825260358152602001806110656035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000610a468261060a565b6001610944565b6000610a598383610b32565b60005b60200201519392505050565b6003546001600160a01b031681565b6003546001600160a01b0316331480610ac15760405162461bcd60e51b81526004018080602001828103825260328152602001806111476032913960400191505060405180910390fd5b610acb8383610cb6565b505050565b610ad8610bb4565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee89181900360200190a150565b61010481565b610b3a610f98565b6001600160a01b0383166000908152600460205260409020805483908110610b5e57fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610b81575050505050905092915050565b6000610bad8383610b32565b6001610a5c565b6000546001600160a01b03163314610bfd5760405162461bcd60e51b815260040180806020018281038252602f815260200180611118602f913960400191505060405180910390fd5b565b600082820183811015610654576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115610cb0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80610d08576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b600754610d1b908263ffffffff610bff16565b600755600254604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d6957600080fd5b505afa158015610d7d573d6000803e3d6000fd5b505050506040513d6020811015610d9357600080fd5b50516007541115610dd55760405162461bcd60e51b81526004018080602001828103825260478152602001806110d16047913960600191505060405180910390fd5b6001600160a01b038216600090815260046020526040902054610104811115610e45576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b6301dfe200420181610e71576001600160a01b0384166000908152600560205260409020839055610efe565b80610e7f8560018503610a4d565b10610ebb5760405162461bcd60e51b815260040180806020018281038252603781526020018061109a6037913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054610ee4908463ffffffff610bff16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925284825281830187905280546001810180835591855292909320610f4d9260029081029091019190611019565b5050604080514281526020810185905281516001600160a01b038716927fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c928290030190a250505050565b60405180604001604052806002906020820280388339509192915050565b604051806141000160405280610208906020820280388339509192915050565b8260028101928215611009579160200282015b82811115611009578251829060ff16905591602001919060010190610fe9565b50611015929150611047565b5090565b8260028101928215611009579160200282015b8281111561100957825182559160200191906001019061102c565b61106191905b80821115611015576000815560010161104d565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e20706572666f726d207468697320616374696f6ea265627a7a7231582023ab623d7f7718999cba747f4ff226001a7e49dcbde909e4273a7d0cfc8034ac64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"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": "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": "newPeriFinance",
							"type": "address"
						}
					],
					"name": "PeriFinanceUpdated",
					"type": "event",
					"signature": "0x1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee8"
				},
				{
					"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": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance",
					"outputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4e5a6091"
				},
				{
					"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 IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						}
					],
					"name": "setPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcb5147b2"
				},
				{
					"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"
				}
			],
			"source": {
				"keccak256": "0xa5ba87efbf7fd809781c242d888ed95a9c6af4c5c866f64e5766d057a6728dfa",
				"urls": [
					"bzz-raw://f427c39502ef35616e38d1eeb0098f57ee53e7bf0121c4d751b5900ae7913510",
					"dweb:/ipfs/QmWYauBVS9DwDfT9s5HEwcRciVAk1cwrKysuqUHrqNY8Qg"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrow.sol": "RewardEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrow.sol": {
						"keccak256": "0xa5ba87efbf7fd809781c242d888ed95a9c6af4c5c866f64e5766d057a6728dfa",
						"urls": [
							"bzz-raw://f427c39502ef35616e38d1eeb0098f57ee53e7bf0121c4d751b5900ae7913510",
							"dweb:/ipfs/QmWYauBVS9DwDfT9s5HEwcRciVAk1cwrKysuqUHrqNY8Qg"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrowV2": {
			"bytecode": "608060408190526303bfc400600c556224ea00600d5562093a80600e55630241ebdb60e61b815273__$58c62a0096148744468f14ce5088c1760d$__9063907af6c09060849060209060048186803b1580156200005b57600080fd5b505af415801562000070573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620000969190810190620001f1565b6103e802601155348015620000aa57600080fd5b5060405162003eba38038062003eba833981016040819052620000cd91620001b2565b8181806249d400836001600160a01b038116620001075760405162461bcd60e51b8152600401620000fe9062000297565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200015491849062000271565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b03929092169190911790555050600160075550620003009050565b80516200019f81620002db565b92915050565b80516200019f81620002f5565b60008060408385031215620001c657600080fd5b6000620001d4858562000192565b9250506020620001e78582860162000192565b9150509250929050565b6000602082840312156200020457600080fd5b6000620002128484620001a5565b949350505050565b6200022581620002c7565b82525050565b6200022581620002b2565b600062000245601983620002a9565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200028182856200021a565b6200029060208301846200022b565b9392505050565b602080825281016200019f8162000236565b90815260200190565b60006001600160a01b0382166200019f565b90565b60006200019f8260006200019f82620002b2565b620002e681620002b2565b8114620002f257600080fd5b50565b620002e681620002c4565b613baa80620003106000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c806370a082311161015c5780638da5cb5b116100ce578063b95375bd11610087578063b95375bd1461052e578063cd7b43dd14610541578063d621a16914610554578063e6b2cf6c14610567578063eac624891461056f578063f0b882ba1461058f5761027f565b80638da5cb5b146104dd578063910a326d146104e55780639ad6a7e5146104ed578063a0416ed3146104f5578063ae58254914610508578063b0fd59631461051b5761027f565b80637839b92f116101205780637839b92f146104665780637993e6991461047957806379ba50971461048c5780637cc1d7561461049457806380d46f58146104a7578063899ffef4146104c85761027f565b806370a082311461041057806371e780f31461042357806373307e401461042b578063741853601461043e578063773ab39f146104465761027f565b8063326a3cfb116101f557806346ba2d90116101b957806346ba2d90146103b257806353a47bb7146103ba5780635b85c200146103cf5780635eb8cf25146103e25780636154c343146103ea5780636dc05bd3146103fd5761027f565b8063326a3cfb1461035057806334c7fec91461036357806337088ffc146103765780634525aabc1461037e57806345626bd6146103915761027f565b8063178c565511610247578063178c5655146102f45780631bb47b44146102fc578063204b676a1461030f578063227d517a146103225780632af64bd31461033557806330104c5f1461033d5761027f565b8063018c6c551461028457806304f3bcec1461029957806305662986146102b75780630fcdefb7146102cc5780631627540c146102e1575b600080fd5b610297610292366004612c2b565b6105a2565b005b6102a16105ea565b6040516102ae91906137fc565b60405180910390f35b6102bf6105f9565b6040516102ae91906137b2565b6102d461061a565b6040516102ae91906137c0565b6102976102ef36600461292f565b610620565b610297610673565b61029761030a366004612a61565b6106d0565b6102d461031d36600461292f565b610721565b6102d461033036600461292f565b61073c565b6102bf61074e565b6102d461034b3660046129c0565b610865565b6102d461035e36600461292f565b6108c4565b610297610371366004612bcc565b6108d6565b6102d461098c565b61029761038c366004612c2b565b610992565b6103a461039f3660046129c0565b6109cf565b6040516102ae929190613a51565b6102d46109ff565b6103c2610a05565b6040516102ae9190613665565b6102976103dd366004612c2b565b610a14565b6102d4610a51565b6103a46103f83660046129c0565b610a57565b6102d461040b36600461296b565b610a91565b6102d461041e36600461292f565b610b3e565b6102d4610b59565b6103c261043936600461292f565b610b5f565b610297610b7a565b610459610454366004612a61565b610cd0565b6040516102ae9190613759565b61029761047436600461292f565b610e70565b610297610487366004612c2b565b61116e565b6102976111cd565b6102976104a236600461292f565b611269565b6104ba6104b536600461296b565b6113b9565b6040516102ae9291906139ab565b6104d0611642565b6040516102ae9190613748565b6103c2611710565b6102d461171f565b6102d4611725565b610297610503366004612a61565b61172b565b6102d46105163660046129c0565b6117f6565b6102d461052936600461292f565b611824565b61029761053c366004612b10565b611836565b61029761054f3660046129fa565b611a21565b610297610562366004612aae565b611a2f565b6102d4611bf0565b61058261057d366004612a61565b611bf6565b6040516102ae91906137a1565b61029761059d36600461296b565b611ce2565b6105aa61201e565b600d8190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e906105df9083906137c0565b60405180910390a150565b6003546001600160a01b031681565b600042610613600e54600f5461204a90919063ffffffff16565b1190505b90565b600f5481565b61062861201e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105df908390613665565b61067b61201e565b42600f819055600e547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd3444591906106b890829063ffffffff61204a16565b6040516106c69291906139cb565b60405180910390a1565b6106d861206f565b6001600160a01b0316336001600160a01b0316146107115760405162461bcd60e51b81526004016107089061396b565b60405180910390fd5b61071c838383612089565b505050565b6001600160a01b031660009081526006602052604090205490565b60096020526000908152604090205481565b6000606061075a611642565b905060005b815181101561085c57600082828151811061077657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a721916107c7918691016137c0565b60206040518083038186803b1580156107df57600080fd5b505afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610817919081019061294d565b6001600160a01b031614158061084257506000818152600460205260409020546001600160a01b0316155b156108535760009350505050610617565b5060010161075f565b50600191505090565b600061086f6127a0565b506001600160a01b0383166000908152600560209081526040808320858452825291829020825180840190935280546001600160401b0316835260010154908201526108ba816122a1565b9150505b92915050565b60086020526000908152604090205481565b6000805b8281101561097b57336000908152600560205260408120818686858181106108fe57fe5b90506020020135815260200190815260200160002090508060010154600014610972576040805180820190915281546001600160401b031681526001820154602082015260009061094e906122a1565b9050801561095e57600060018301555b61096e848263ffffffff61204a16565b9350505b506001016108da565b50801561071c5761071c33826122d2565b600d5481565b61099a61201e565b600c8190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4906105df9083906137c0565b6005602090815260009283526040808420909152908252902080546001909101546001600160401b039091169082565b60025481565b6001546001600160a01b031681565b610a1c61201e565b60118190556040517f7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef8672906105df9083906137c0565b600c5481565b6001600160a01b039190911660009081526005602090815260408083209383529290522080546001909101546001600160401b0390911691565b6000805b82811015610b3657610aa56127a0565b6001600160a01b038616600090815260056020526040812090868685818110610aca57fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015610b2d576000610b17826122a1565b9050610b29848263ffffffff61204a16565b9350505b50600101610a95565b509392505050565b6001600160a01b031660009081526008602052604090205490565b600b5481565b600a602052600090815260409020546001600160a01b031681565b6060610b84611642565b905060005b8151811015610ccc576000828281518110610ba057fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610be2919061365a565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c0e9291906137dc565b60206040518083038186803b158015610c2657600080fd5b505afa158015610c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5e919081019061294d565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610cba90849084906137ce565b60405180910390a15050600101610b89565b5050565b6060828201838111610d16576040805160008082526020820190925290610d0d565b610cfa6127b7565b815260200190600190039081610cf25790505b50915050610e69565b6001600160a01b038516600090815260066020526040902054811115610d5157506001600160a01b0384166000908152600660205260409020545b604080518583038082526020808202830101909252606090828015610d9057816020015b610d7d6127b7565b815260200190600190039081610d755790505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604081208054838a01908110610dc457fe5b90600052602060002001549050610dd96127a0565b506001600160a01b03891660009081526005602090815260408083208484528252918290208251808401845281546001600160401b03908116825260019092015481840190815284516060810186528251909316835251928201929092529182018390528451909190859085908110610e4e57fe5b60209081029190910101525050600101610d96565b50925050505b9392505050565b610e786123ed565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610eb057600080fd5b505afa158015610ec4573d6000803e3d6000fd5b505050506001600160a01b038116600090815260106020526040902054610efd5760405162461bcd60e51b8152600401610708906138ab565b6001600160a01b038116600090815260086020526040902054610f325760405162461bcd60e51b81526004016107089061398b565b6011546001600160a01b03821660009081526010602052604090205411610fbd57610f9f816040518060400160405280426001600160401b0316815260200160106000866001600160a01b03166001600160a01b0316815260200190815260200160002054815250612407565b6001600160a01b03811660009081526010602052604081205561116b565b6000610fc7612465565b6001600160a01b031663204b676a836040518263ffffffff1660e01b8152600401610ff29190613665565b60206040518083038186803b15801561100a57600080fd5b505afa15801561101e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110429190810190612c49565b905060015b81811161071c576110566127e1565b61105e612465565b6001600160a01b031663da7bd3e9858486036040518363ffffffff1660e01b815260040161108d92919061372d565b604080518083038186803b1580156110a457600080fd5b505afa1580156110b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110dc9190810190612bae565b8051602082015191925090428210156110f75750505061071c565b61111e866040518060400160405280856001600160401b0316815260200184815250612407565b6001600160a01b038616600090815260106020526040902054611147908263ffffffff61247f16565b6001600160a01b038716600090815260106020526040902055505050600101611047565b50565b61117661201e565b600d548111156111985760405162461bcd60e51b81526004016107089061395b565b600e8190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6906105df9083906137c0565b6001546001600160a01b031633146111f75760405162461bcd60e51b81526004016107089061381b565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261123a926001600160a01b0391821692911690613704565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b0381163314156112925760405162461bcd60e51b8152600401610708906138fb565b61129a6105f9565b6112b65760405162461bcd60e51b8152600401610708906138db565b6112be6124a7565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b81526004016112e991906136a3565b60206040518083038186803b15801561130157600080fd5b505afa158015611315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113399190810190612c49565b156113565760405162461bcd60e51b81526004016107089061399b565b336000818152600a60205260409081902080546001600160a01b0319166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852906113ae908490613665565b60405180910390a250565b600060606113c56124bb565b6001600160a01b0316336001600160a01b0316146113f55760405162461bcd60e51b81526004016107089061382b565b826114125760405162461bcd60e51b81526004016107089061390b565b60408051848152602080860282010190915283801561144b57816020015b6114386127a0565b8152602001906001900390816114305790505b50905060005b83811015611552576001600160a01b03861660009081526005602052604081208187878581811061147e57fe5b9050602002013581526020019081526020016000209050600081600101541115611549576040805180820190915281546001600160401b031681526001820154602082015283518490849081106114d157fe5b60200260200101819052506114f381600101548561204a90919063ffffffff16565b6001600160a01b038816600090815260056020526040812091955087878581811061151a57fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611451565b5081156115f35761156385836124e6565b61156b612545565b6001600160a01b031663a9059cbb6115816124bb565b846040518363ffffffff1660e01b815260040161159f92919061372d565b602060405180830381600087803b1580156115b957600080fd5b505af11580156115cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115f19190810190612c0d565b505b846001600160a01b03167f929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c85858542604051611632949392919061376a565b60405180910390a2935093915050565b60608061164d61255e565b60408051600380825260808201909252919250606091906020820183803883390190505090507f5065726946696e616e6365427269646765546f4f7074696d69736d0000000000816000815181106116a157fe5b6020026020010181815250506b526577617264457363726f7760a01b816001815181106116ca57fe5b6020026020010181815250506b53797374656d53746174757360a01b816002815181106116f357fe5b60200260200101818152505061170982826125f2565b9250505090565b6000546001600160a01b031681565b600e5481565b60115481565b6001600160a01b0383166117515760405162461bcd60e51b81526004016107089061386b565b611759612545565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b815260040161178893929190613673565b602060405180830381600087803b1580156117a257600080fd5b505af11580156117b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117da9190810190612c0d565b6107115760405162461bcd60e51b8152600401610708906138eb565b6006602052816000526040600020818154811061180f57fe5b90600052602060002001600091509150505481565b60106020526000908152604090205481565b60025442106118575760405162461bcd60e51b81526004016107089061394b565b61185f61201e565b84831461187e5760405162461bcd60e51b81526004016107089061397b565b84811461189d5760405162461bcd60e51b81526004016107089061389b565b60005b85811015611a185760008787838181106118b657fe5b90506020020160206118cb919081019061292f565b905060008686848181106118db57fe5b90506020020135905060008585858181106118f257fe5b6001600160a01b03861660009081526010602090815260409091205491029290920135925050156119355760405162461bcd60e51b81526004016107089061383b565b600b54611948908363ffffffff61204a16565b600b556001600160a01b038316600090815260086020526040902054611974908363ffffffff61204a16565b6001600160a01b0384166000908152600860209081526040808320939093556009905220546119a9908263ffffffff61204a16565b6001600160a01b0384166000818152600960209081526040808320949094556010905282902084905590517fa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d690611a05908590859042906139d9565b60405180910390a25050506001016118a0565b50505050505050565b611a296126ae565b50505050565b6002544210611a505760405162461bcd60e51b81526004016107089061394b565b611a5861201e565b828114611a775760405162461bcd60e51b81526004016107089061393b565b60005b83811015611be9576000858583818110611a9057fe5b9050602002016020611aa5919081019061292f565b90506000848484818110611ab557fe5b905060200201359050600060086000846001600160a01b03166001600160a01b031681526020019081526020016000205411611b035760405162461bcd60e51b81526004016107089061398b565b6001600160a01b038216600090815260106020526040902054611b385760405162461bcd60e51b8152600401610708906138ab565b611b5f826040518060400160405280426001600160401b0316815260200184815250612407565b6001600160a01b038216600090815260106020526040902054611b88908263ffffffff61247f16565b6001600160a01b038316600081815260106020526040908190209290925590517f73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc490611bd790429085906139cb565b60405180910390a25050600101611a7a565b5050505050565b60075481565b6001600160a01b03831660009081526006602052604090205460609083830190811115611c3857506001600160a01b0384166000908152600660205260409020545b838111611c55576040805160008082526020820190925290610d0d565b604080518583038082526020808202830101909252606090828015611c84578160200160208202803883390190505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604090208054828901908110611cb857fe5b9060005260206000200154828281518110611ccf57fe5b6020908102919091010152600101611c8a565b611cea6105f9565b611d065760405162461bcd60e51b8152600401610708906138db565b611d0e6124a7565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b8152600401611d39919061371f565b60206040518083038186803b158015611d5157600080fd5b505afa158015611d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d899190810190612c49565b15611da65760405162461bcd60e51b81526004016107089061399b565b6001600160a01b038381166000908152600a6020526040902054163314611ddf5760405162461bcd60e51b81526004016107089061392b565b6000805b82811015611f5e57611df36127a0565b6001600160a01b038616600090815260056020526040812090868685818110611e1857fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015611f55573360009081526005602052604081208291878786818110611e7757fe5b60209081029290920135835250818101929092526040016000208251815467ffffffffffffffff19166001600160401b0390911617815591810151600190920191909155810151611ec990849061204a565b336000908152600660205260409020909350858584818110611ee757fe5b8354600181018555600094855260208086209281029490940135910155506001600160a01b0388168252600590526040812090868685818110611f2657fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611de3565b506001600160a01b038416600090815260086020526040902054611f88908263ffffffff61247f16565b6001600160a01b038516600090815260086020526040808220929092553381522054611fba908263ffffffff61204a16565b33600081815260086020526040908190209290925590516001600160a01b038616917f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c91612010919085908890889042906136bd565b60405180910390a250505050565b6000546001600160a01b031633146120485760405162461bcd60e51b81526004016107089061391b565b565b600082820183811015610e695760405162461bcd60e51b81526004016107089061384b565b600061208466119959541bdbdb60ca1b6126c6565b905090565b816120a65760405162461bcd60e51b8152600401610708906138bb565b6000811180156120b85750600c548111155b6120d45760405162461bcd60e51b81526004016107089061385b565b600b546120e7908363ffffffff61204a16565b600b556120f2612545565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161211d9190613665565b60206040518083038186803b15801561213557600080fd5b505afa158015612149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061216d9190810190612c49565b600b54111561218e5760405162461bcd60e51b8152600401610708906138cb565b6001600160a01b038316600090815260086020526040902054428201906121bb908463ffffffff61204a16565b6001600160a01b03851660008181526008602090815260408083209490945560078054855180870187526001600160401b0388811682528185018b81528787526005865288872084885286528887209251835467ffffffffffffffff1916921691909117825551600191820155948452600683529483208054808601825590845291909220018390555461224e9161204a565b6007556040516001600160a01b038616907f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0906122929042908890889087906139f4565b60405180910390a25050505050565b60008082602001516000146108be5782516001600160401b03164210156122c9576000610e69565b50506020015190565b6122dc82826124e6565b6001600160a01b038216600090815260096020526040902054612305908263ffffffff61204a16565b6001600160a01b038316600090815260096020526040902055612326612545565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040161235392919061372d565b602060405180830381600087803b15801561236d57600080fd5b505af1158015612381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123a59190810190612c0d565b50816001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc642836040516123e19291906139cb565b60405180910390a25050565b60006120846b53797374656d53746174757360a01b6126c6565b60006124138383612723565b602083015183516040519293506001600160a01b038616927fa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb92612458928692613a29565b60405180910390a2505050565b60006120846b526577617264457363726f7760a01b6126c6565b6000828211156124a15760405162461bcd60e51b81526004016107089061387b565b50900390565b60006120846524b9b9bab2b960d11b6126c6565b60006120847f5065726946696e616e6365427269646765546f4f7074696d69736d00000000006126c6565b600b546124f9908263ffffffff61247f16565b600b556001600160a01b038216600090815260086020526040902054612525908263ffffffff61247f16565b6001600160a01b0390921660009081526008602052604090209190915550565b60006120846a5065726946696e616e636560a81b6126c6565b604080516003808252608082019092526060916020820183803883390190505090506a5065726946696e616e636560a81b8160008151811061259c57fe5b60200260200101818152505066119959541bdbdb60ca1b816001815181106125c057fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106125e357fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612622578160200160208202803883390190505b50905060005b83518110156126645783818151811061263d57fe5b602002602001015182828151811061265157fe5b6020908102919091010152600101612628565b5060005b82518110156126a75782818151811061267d57fe5b602002602001015182828651018151811061269457fe5b6020908102919091010152600101612668565b5092915050565b60405162461bcd60e51b81526004016107089061388b565b60008181526004602090815260408083205490516001600160a01b0390911691821515916126f69186910161363a565b604051602081830303815290604052906126a75760405162461bcd60e51b8152600401610708919061380a565b600780546001600160a01b038416600081815260056020908152604080832085845282528083208751815467ffffffffffffffff19166001600160401b0390911617815587830151600191820155938352600682528220805480850182559083529082200183905592546127969161204a565b6007559392505050565b604080518082019091526000808252602082015290565b604051806060016040528060006001600160401b0316815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b80356108be81613b41565b80516108be81613b41565b60008083601f84011261282757600080fd5b5081356001600160401b0381111561283e57600080fd5b60208301915083602082028301111561285657600080fd5b9250929050565b60008083601f84011261286f57600080fd5b5081356001600160401b0381111561288657600080fd5b60208301915083604082028301111561285657600080fd5b600082601f8301126128af57600080fd5b60026128c26128bd82613a85565b613a5f565b915081838560208402820111156128d857600080fd5b60005b8381101561290457816128ee8882612924565b84525060209283019291909101906001016128db565b5050505092915050565b80516108be81613b55565b80356108be81613b5e565b80516108be81613b5e565b60006020828403121561294157600080fd5b60006108ba84846127ff565b60006020828403121561295f57600080fd5b60006108ba848461280a565b60008060006040848603121561298057600080fd5b600061298c86866127ff565b93505060208401356001600160401b038111156129a857600080fd5b6129b486828701612815565b92509250509250925092565b600080604083850312156129d357600080fd5b60006129df85856127ff565b92505060206129f085828601612919565b9150509250929050565b60008060008060608587031215612a1057600080fd5b6000612a1c87876127ff565b9450506020612a2d87828801612919565b93505060408501356001600160401b03811115612a4957600080fd5b612a558782880161285d565b95989497509550505050565b600080600060608486031215612a7657600080fd5b6000612a8286866127ff565b9350506020612a9386828701612919565b9250506040612aa486828701612919565b9150509250925092565b60008060008060408587031215612ac457600080fd5b84356001600160401b03811115612ada57600080fd5b612ae687828801612815565b945094505060208501356001600160401b03811115612b0457600080fd5b612a5587828801612815565b60008060008060008060608789031215612b2957600080fd5b86356001600160401b03811115612b3f57600080fd5b612b4b89828a01612815565b965096505060208701356001600160401b03811115612b6957600080fd5b612b7589828a01612815565b945094505060408701356001600160401b03811115612b9357600080fd5b612b9f89828a01612815565b92509250509295509295509295565b600060408284031215612bc057600080fd5b60006108ba848461289e565b60008060208385031215612bdf57600080fd5b82356001600160401b03811115612bf557600080fd5b612c0185828601612815565b92509250509250929050565b600060208284031215612c1f57600080fd5b60006108ba848461290e565b600060208284031215612c3d57600080fd5b60006108ba8484612919565b600060208284031215612c5b57600080fd5b60006108ba8484612924565b6000612c738383612e40565b505060200190565b6000612c8783836135cd565b505060600190565b6000612c9b8383613604565b505060400190565b612cac81613ae2565b82525050565b612cac81613aba565b6000612cc682613aa8565b612cd08185613aac565b9350612cdb83613aa2565b8060005b83811015612d09578151612cf38882612c67565b9750612cfe83613aa2565b925050600101612cdf565b509495945050505050565b6000612d1f82613aa8565b612d298185613aac565b9350612d3483613aa2565b8060005b83811015612d09578151612d4c8882612c7b565b9750612d5783613aa2565b925050600101612d38565b6000612d6d82613aa8565b612d778185613aac565b9350612d8283613aa2565b8060005b83811015612d09578151612d9a8882612c8f565b9750612da583613aa2565b925050600101612d86565b6000612dbc8385613aac565b93506001600160fb1b03831115612dd257600080fd5b602083029250612de3838584613aff565b50500190565b6000612df482613aa8565b612dfe8185613aac565b9350612e0983613aa2565b8060005b83811015612d09578151612e218882612c67565b9750612e2c83613aa2565b925050600101612e0d565b612cac81613ac5565b612cac81610617565b612cac612e5582610617565b610617565b612cac81613ae9565b6000612e6e82613aa8565b612e788185613aac565b9350612e88818560208601613b0b565b612e9181613b37565b9093019392505050565b6000612ea8603583613aac565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612eff603b83613aac565b7f43616e206f6e6c7920626520696e766f6b6564206279205065726946696e616e81527f6365427269646765546f4f7074696d69736d20636f6e74726163740000000000602082015260400192915050565b6000612f5e602483613aac565b7f4163636f756e74206d6967726174696f6e2069732070656e64696e6720616c728152636561647960e01b602082015260400192915050565b6000612fa4601b83613aac565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612fdd603383613aac565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b6000613032602483613aac565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b6000613078601e83613aac565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006130b1601b83613aac565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b60006130ea603183613aac565b7f4e756d626572206f66206163636f756e747320616e642076657374656442616c8152700c2dcc6cae640c8dedc4ee840dac2e8c6d607b1b602082015260400192915050565b600061313d601b83613aac565b7f4e6f20657363726f77206d6967726174696f6e2070656e64696e670000000000815260200192915050565b6000613176601183613ab5565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006131a3601783613aac565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b60006131dc604783613aac565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b600061324b601983613aac565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b6000613284601583613aac565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b60006132b5602483613aac565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b60006132fb601283613aac565b71115b9d1c9e4812511cc81c995c5d5a5c995960721b815260200192915050565b6000613329602f83613aac565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061337a602183613aac565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b60006133bd602983613aac565b7f4163636f756e7420616e6420657363726f77416d6f756e7473204c656e677468815268040dad2e6dac2e8c6d60bb1b602082015260400192915050565b6000613408602983613aac565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e206475728152680696e672073657475760bc1b602082015260400192915050565b631c1554d160e21b9052565b600061345f601c83613aac565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b6000613498601983613ab5565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006134d1602883613aac565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b600061351b602b83613aac565b7f4e756d626572206f66206163636f756e747320616e642062616c616e6365732081526a0c8dedc4ee840dac2e8c6d60ab1b602082015260400192915050565b6000613568601b83613aac565b7f4164647265737320657363726f772062616c616e636520697320300000000000815260200192915050565b60006135a1601f83613aac565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b805160608301906135de8482613631565b5060208201516135f16020850182612e40565b506040820151611a296040850182612e40565b805160408301906136158482613631565b506020820151611a296020850182612e40565b612cac81613af4565b612cac81613ad6565b600061364582613169565b91506136518284612e49565b50602001919050565b60006136458261348b565b602081016108be8284612cb2565b606081016136818286612ca3565b61368e6020830185612cb2565b61369b6040830184612e40565b949350505050565b604081016136b18284612ca3565b6108be60208301613446565b608081016136cb8288612ca3565b6136d86020830187612e40565b81810360408301526136eb818587612db0565b90506136fa6060830184612e40565b9695505050505050565b604081016137128285612cb2565b610e696020830184612cb2565b604081016136b18284612cb2565b6040810161373b8285612cb2565b610e696020830184612e40565b60208082528101610e698184612cbb565b60208082528101610e698184612d14565b6060808252810161377c818688612db0565b905061378b6020830185612e40565b6137986040830184612e40565b95945050505050565b60208082528101610e698184612de9565b602081016108be8284612e37565b602081016108be8284612e40565b604081016137128285612e40565b604081016137ea8285612e40565b818103602083015261369b8184612e63565b602081016108be8284612e5a565b60208082528101610e698184612e63565b602080825281016108be81612e9b565b602080825281016108be81612ef2565b602080825281016108be81612f51565b602080825281016108be81612f97565b602080825281016108be81612fd0565b602080825281016108be81613025565b602080825281016108be8161306b565b602080825281016108be816130a4565b602080825281016108be816130dd565b602080825281016108be81613130565b602080825281016108be81613196565b602080825281016108be816131cf565b602080825281016108be8161323e565b602080825281016108be81613277565b602080825281016108be816132a8565b602080825281016108be816132ee565b602080825281016108be8161331c565b602080825281016108be8161336d565b602080825281016108be816133b0565b602080825281016108be816133fb565b602080825281016108be81613452565b602080825281016108be816134c4565b602080825281016108be8161350e565b602080825281016108be8161355b565b602080825281016108be81613594565b604081016139b98285612e40565b818103602083015261369b8184612d62565b6040810161373b8285612e40565b606081016139e78286612e40565b61368e6020830185612e40565b60808101613a028287612e40565b613a0f6020830186612e40565b613a1c6040830185612e40565b6137986060830184612e40565b60608101613a378286612e40565b613a446020830185612e40565b61369b6040830184613628565b6040810161373b8285613631565b6040518181016001600160401b0381118282101715613a7d57600080fd5b604052919050565b60006001600160401b03821115613a9b57600080fd5b5060200290565b60200190565b5190565b90815260200190565b919050565b60006108be82613aca565b151590565b6001600160a01b031690565b6001600160401b031690565b60006108be825b60006108be82613aba565b60006108be82613ad6565b82818337506000910152565b60005b83811015613b26578181015183820152602001613b0e565b83811115611a295750506000910152565b601f01601f191690565b613b4a81613aba565b811461116b57600080fd5b613b4a81613ac5565b613b4a8161061756fea365627a7a72315820aab4f87b6df900b8a5b9eb79eccaa4379ca21e597a8dfbfbcf0ddc2ce2e166726c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "accountToMerge",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowAmountMerged",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "AccountMerged",
					"type": "event",
					"signature": "0x48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "AccountMergingDurationUpdated",
					"type": "event",
					"signature": "0x723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "endTime",
							"type": "uint256"
						}
					],
					"name": "AccountMergingStarted",
					"type": "event",
					"signature": "0xceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd34445"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowedAmountMigrated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "BurnedForMigrationToL2",
					"type": "event",
					"signature": "0x929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "endTime",
							"type": "uint256"
						}
					],
					"name": "ImportedVestingEntry",
					"type": "event",
					"signature": "0xa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"name": "ImportedVestingSchedule",
					"type": "event",
					"signature": "0x73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc4"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxAccountMergingDurationUpdated",
					"type": "event",
					"signature": "0xe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxEscrowDurationUpdated",
					"type": "event",
					"signature": "0x6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newAmount",
							"type": "uint256"
						}
					],
					"name": "MigrateEntriesThresholdAmountUpdated",
					"type": "event",
					"signature": "0x7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef8672"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowedAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "vestedAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "MigratedAccountEscrow",
					"type": "event",
					"signature": "0xa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "NominateAccountToMerge",
					"type": "event",
					"signature": "0xcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852"
				},
				{
					"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"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "VestingEntryCreated",
					"type": "event",
					"signature": "0x2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x910a326d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingIsOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05662986"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingStartTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0fcdefb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae582549"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "duration",
							"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": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "burnForMigration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "escrowedAccountBalance",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "vestingEntries",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x80d46f58"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "deposit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "createEscrowEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa0416ed3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getAccountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeac62489"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "getVestingEntry",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "endTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6154c343"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "getVestingEntryClaimable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x30104c5f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6dc05bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getVestingSchedules",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "entryID",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntryWithID[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x773ab39f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"name": "importVestingEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcd7b43dd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "escrowAmounts",
							"type": "uint256[]"
						}
					],
					"name": "importVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd621a169"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxAccountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37088ffc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "max_duration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5eb8cf25"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "accountToMerge",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "mergeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf0b882ba"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "escrowBalances",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "vestedBalances",
							"type": "uint256[]"
						}
					],
					"name": "migrateAccountEscrowBalances",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb95375bd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "migrateEntriesThresholdAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9ad6a7e5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "addressToMigrate",
							"type": "address"
						}
					],
					"name": "migrateVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7839b92f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nextEntryId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe6b2cf6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "nominateAccountToMerge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7cc1d756"
				},
				{
					"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": "",
							"type": "address"
						}
					],
					"name": "nominatedReceiver",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x73307e40"
				},
				{
					"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": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setAccountMergingDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7993e699"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxAccountMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x018c6c55"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxEscrowDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4525aabc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setMigrateEntriesThresholdAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5b85c200"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "startMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x178c5655"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalBalancePendingMigration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb0fd5963"
				},
				{
					"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": [
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x34c7fec9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "endTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45626bd6"
				}
			],
			"source": {
				"keccak256": "0x68bb3dc9cccf6ca1e7dd5efd22a0d21938a6ab48e8c8e0b8327a93b9c28dfc81",
				"urls": [
					"bzz-raw://8f81385ca61f405c9557ed07c2f0f6f91864b82088296df7765bde3d5a788da3",
					"dweb:/ipfs/QmVgYGikt1RQ3XFPwpFPWQYm1bggrWQy8QiqYjEdmk553V"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrowV2.sol": "RewardEscrowV2"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrowV2.sol": {
						"keccak256": "0x68bb3dc9cccf6ca1e7dd5efd22a0d21938a6ab48e8c8e0b8327a93b9c28dfc81",
						"urls": [
							"bzz-raw://8f81385ca61f405c9557ed07c2f0f6f91864b82088296df7765bde3d5a788da3",
							"dweb:/ipfs/QmVgYGikt1RQ3XFPwpFPWQYm1bggrWQy8QiqYjEdmk553V"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516116ac3803806116ac8339818101604052606081101561003357600080fd5b50805160208201516040909201519091906249d400836001600160a01b0381166100a4576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b039384166001600160a01b031991821617909155600780549290931691161790555061156e8061013e6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80636b3905c4116100f9578063a15d59ce11610097578063d0cc82e311610071578063d0cc82e314610562578063da7bd3e91461056a578063ee04ad6e14610596578063ee1d036c146105bc576101c4565b8063a15d59ce14610462578063bb2a7d0c1461046a578063cb5147b21461053c576101c4565b80638ad58777116100d35780638ad58777146104005780638da5cb5b1461040857806397f46527146104105780639b217f9014610436576101c4565b80636b3905c4146103ac57806370a08231146103d257806379ba5097146103f8576101c4565b80632f5bb6611161016657806346ba2d901161014057806346ba2d901461038c5780634e5a60911461039457806353a47bb71461039c57806363667eb7146103a4576101c4565b80632f5bb661146102f1578063458efde31461035257806345e5441f1461035a576101c4565b806319e740c0116101a257806319e740c01461023b5780631bb47b4414610273578063204b676a146102a5578063227d517a146102cb576101c4565b806307ab82e4146101c9578063135c0701146101ed5780631627540c14610215575b600080fd5b6101d16105e8565b604080516001600160a01b039092168252519081900360200190f35b6102136004803603602081101561020357600080fd5b50356001600160a01b03166105f7565b005b6102136004803603602081101561022b57600080fd5b50356001600160a01b0316610839565b6102616004803603602081101561025157600080fd5b50356001600160a01b0316610895565b60408051918252519081900360200190f35b6102136004803603606081101561028957600080fd5b506001600160a01b0381351690602081013590604001356108d7565b610261600480360360208110156102bb57600080fd5b50356001600160a01b0316610c12565b610261600480360360208110156102e157600080fd5b50356001600160a01b0316610c2d565b6103176004803603602081101561030757600080fd5b50356001600160a01b0316610c3f565b6040518082600260200280838360005b8381101561033f578181015183820152602001610327565b5050505090500191505060405180910390f35b610213610c90565b6102616004803603606081101561037057600080fd5b506001600160a01b038135169060208101359060400135610e4d565b610261610e89565b6101d1610e8f565b6101d1610e9e565b610261610ead565b610261600480360360208110156103c257600080fd5b50356001600160a01b0316610eb2565b610261600480360360208110156103e857600080fd5b50356001600160a01b0316610ecb565b610213610ee6565b610261610fa2565b6101d1610fa7565b6102616004803603602081101561042657600080fd5b50356001600160a01b0316610fb6565b6102616004803603604081101561044c57600080fd5b506001600160a01b038135169060200135610fc8565b610261610fe3565b6102136004803603606081101561048057600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156104ab57600080fd5b8201836020820111156104bd57600080fd5b803590602001918460208302840111640100000000831117156104df57600080fd5b9193909290916020810190356401000000008111156104fd57600080fd5b82018360208201111561050f57600080fd5b8035906020019184602083028401116401000000008311171561053157600080fd5b509092509050610fe9565b6102136004803603602081101561055257600080fd5b50356001600160a01b0316611073565b6102616110cf565b6103176004803603604081101561058057600080fd5b506001600160a01b0381351690602001356110d4565b610213600480360360208110156105ac57600080fd5b50356001600160a01b0316611143565b610261600480360360408110156105d257600080fd5b506001600160a01b03813516906020013561119f565b6007546001600160a01b031681565b6105ff6111b2565b600254421061063f5760405162461bcd60e51b81526004018080602001828103825260298152602001806114be6029913960400191505060405180910390fd5b6007546001600160a01b03166106865760405162461bcd60e51b81526004018080602001828103825260268152602001806114986026913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604081206106a7916112b4565b6001600160a01b0381166000908152600560205260409020546006546106d29163ffffffff6111fd16565b600655600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561072057600080fd5b505afa158015610734573d6000803e3d6000fd5b505050506040513d602081101561074a57600080fd5b5051600654111561078c5760405162461bcd60e51b81526004018080602001828103825260538152602001806114e76053913960600191505060405180910390fd5b6003546007546001600160a01b03838116600090815260056020908152604080832054815163a9059cbb60e01b81529585166004870152602486015251929094169363a9059cbb936044808201949293918390030190829087803b1580156107f357600080fd5b505af1158015610807573d6000803e3d6000fd5b505050506040513d602081101561081d57600080fd5b50506001600160a01b0316600090815260056020526040812055565b6108416111b2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000806108a183610c12565b905060005b818110156108ce576108b88482610fc8565b156108c65791506108d29050565b6001016108a6565b5090505b919050565b6108df6111b2565b600254421061091f5760405162461bcd60e51b81526004018080602001828103825260298152602001806114be6029913960400191505060405180910390fd5b814210610973576040805162461bcd60e51b815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015290519081900360640190fd5b806109c5576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b6006546109d8908263ffffffff61125a16565b600655600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610a2657600080fd5b505afa158015610a3a573d6000803e3d6000fd5b505050506040513d6020811015610a5057600080fd5b50516006541115610a925760405162461bcd60e51b81526004018080602001828103825260478152602001806114226047913960600191505060405180910390fd5b6001600160a01b0383166000908152600460205260409020546014811115610b01576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b80610b26576001600160a01b0384166000908152600560205260409020829055610bbb565b82610b3c856001610b3688610c12565b03610fc8565b10610b785760405162461bcd60e51b81526004018080602001828103825260378152602001806113eb6037913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054610ba1908363ffffffff61125a16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925286825281830186905280546001810180835591855292909320610c0a92600290810290910191906112d8565b505050505050565b6001600160a01b031660009081526004602052604090205490565b60056020526000908152604090205481565b610c47611316565b6000610c5283610895565b9050610c5d83610c12565b811415610c7f57505060408051808201909152600080825260208201526108d2565b610c8983826110d4565b9392505050565b6000610c9b33610c12565b90506000805b82811015610d40576000610cb53383610fc8565b905042811115610cc55750610d40565b6000610cd1338461119f565b90508015610d3657604080518082018252600080825260208083018290523382526004905291909120805485908110610d0657fe5b9060005260206000209060020201906002610d22929190611334565b50610d33848263ffffffff61125a16565b93505b5050600101610ca1565b508015610e4957600654610d5a908263ffffffff6111fd16565b60065533600090815260056020526040902054610d7d908263ffffffff6111fd16565b33600081815260056020908152604080832094909455600354845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b158015610de257600080fd5b505af1158015610df6573d6000803e3d6000fd5b505050506040513d6020811015610e0c57600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b60046020528260005260406000208281548110610e6657fe5b90600052602060002090600202018160028110610e7f57fe5b0154925083915050565b60025481565b6003546001600160a01b031681565b6001546001600160a01b031681565b600081565b6000610ebd82610c3f565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b6001546001600160a01b03163314610f2f5760405162461bcd60e51b81526004018080602001828103825260358152602001806113b66035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600181565b6000546001600160a01b031681565b6000610fc182610c3f565b6001610ec0565b6000610fd483836110d4565b60005b60200201519392505050565b60065481565b610ff16111b2565b60025442106110315760405162461bcd60e51b81526004018080602001828103825260298152602001806114be6029913960400191505060405180910390fd5b60005b83811015610c0a5761106b8686868481811061104c57fe5b9050602002013585858581811061105f57fe5b905060200201356108d7565b600101611034565b61107b6111b2565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee89181900360200190a150565b601481565b6110dc611316565b6001600160a01b038316600090815260046020526040902080548390811061110057fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311611123575050505050905092915050565b61114b6111b2565b600780546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fb46085655f12cc30a7603c9af22f9ed618a149dbb291c9d1c14cfe57e793ba9e9181900360200190a150565b60006111ab83836110d4565b6001610fd7565b6000546001600160a01b031633146111fb5760405162461bcd60e51b815260040180806020018281038252602f815260200180611469602f913960400191505060405180910390fd5b565b600082821115611254576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610c89576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b50805460008255600202906000526020600020908101906112d59190611367565b50565b8260028101928215611306579160200282015b828111156113065782518255916020019190600101906112eb565b5061131292915061138d565b5090565b60405180604001604052806002906020820280388339509192915050565b8260028101928215611306579160200282015b82811115611306578251829060ff16905591602001919060010190611347565b61138a91905b8082111561131257600061138182826113a7565b5060020161136d565b90565b61138a91905b808211156113125760008155600101611393565b50600081556001016000905556fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e526566756e6420616464726573732063616e206e6f74206265207a65726f206164647265737343616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e672073657475704d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f207265747269657665207665737465642062616c616e6365206f6620707572676564206163636f756e74a265627a7a72315820ef3fa6771cc1ad689fc8498fbbb2efff82a6b4bc985b2a4f33a4884f058ac04464736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_addressToRefund",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "addressToRefund",
							"type": "address"
						}
					],
					"name": "AddressToRefundUpdated",
					"type": "event",
					"signature": "0xb46085655f12cc30a7603c9af22f9ed618a149dbb291c9d1c14cfe57e793ba9e"
				},
				{
					"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": "newPeriFinance",
							"type": "address"
						}
					],
					"name": "PeriFinanceUpdated",
					"type": "event",
					"signature": "0x1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee8"
				},
				{
					"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": true,
					"inputs": [],
					"name": "addressToRefund",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x07ab82e4"
				},
				{
					"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": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance",
					"outputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4e5a6091"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "purgeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x135c0701"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_addressToRefund",
							"type": "address"
						}
					],
					"name": "setAddressToRefund",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee04ad6e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						}
					],
					"name": "setPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcb5147b2"
				},
				{
					"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"
				}
			],
			"source": {
				"keccak256": "0xba00f13d71ffe38630ff60f7e6d34efb96766bf20613d5c67c4c74cdf709e46c",
				"urls": [
					"bzz-raw://6e768713a6f0396b2fd0782441dba753a502abae2f9fa05f4f57b03ce889d3d6",
					"dweb:/ipfs/QmNYQRKmdqxB44Hd9uEdDja3Ti79htgd1uA9VWvS8qXRXp"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceEscrow.sol": "PeriFinanceEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceEscrow.sol": {
						"keccak256": "0xba00f13d71ffe38630ff60f7e6d34efb96766bf20613d5c67c4c74cdf709e46c",
						"urls": [
							"bzz-raw://6e768713a6f0396b2fd0782441dba753a502abae2f9fa05f4f57b03ce889d3d6",
							"dweb:/ipfs/QmNYQRKmdqxB44Hd9uEdDja3Ti79htgd1uA9VWvS8qXRXp"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610aa1380380610aa18339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506108fb806101a66000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638b3f8088116100a2578063aefc4ccb11610071578063aefc4ccb14610261578063b16c09f014610269578063b992812e1461028f578063ba08f299146102c9578063cd92eba9146102d15761010b565b80638b3f8088146101e65780638da5cb5b146102255780639371bede1461022d578063a764eb45146102355761010b565b806346317712116100de578063463177121461018c57806352f445ca1461019457806353a47bb7146101ba57806379ba5097146101de5761010b565b806308d95cd5146101105780631627540c1461013f5780631bfba595146101675780633d31e97b1461016f575b600080fd5b61012d6004803603602081101561012657600080fd5b50356102d9565b60408051918252519081900360200190f35b6101656004803603602081101561015557600080fd5b50356001600160a01b03166102f7565b005b610165610353565b6101656004803603602081101561018557600080fd5b50356103b5565b61012d610433565b610165600480360360208110156101aa57600080fd5b50356001600160a01b0316610468565b6101c26104c4565b604080516001600160a01b039092168252519081900360200190f35b6101656104d3565b61020c600480360360208110156101fc57600080fd5b50356001600160a01b031661058f565b6040805192835260208301919091528051918290030190f35b6101c26105a8565b61012d6105b7565b6101656004803603604081101561024b57600080fd5b506001600160a01b0381351690602001356105bd565b6101c261062d565b6101656004803603602081101561027f57600080fd5b50356001600160a01b031661063c565b6102b5600480360360208110156102a557600080fd5b50356001600160a01b03166106a5565b604080519115158252519081900360200190f35b6101656106c2565b61012d61071f565b600581815481106102e657fe5b600091825260209091200154905081565b6102ff610725565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b0316331461039c5760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b6004546103b090600163ffffffff61077016565b600455565b6002546001600160a01b031633146103fe5760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00155565b60055460009061044557506000610465565b60058054600019810190811061045757fe5b906000526020600020015490505b90565b610470610725565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b0316331461051c5760405162461bcd60e51b815260040180806020018281038252603581526020018061082f6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6003602052600090815260409020805460019091015482565b6000546001600160a01b031681565b60045481565b6002546001600160a01b031633146106065760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b6001600160a01b039091166000908152600360205260409020908155600554600190910155565b6002546001600160a01b031681565b6002546001600160a01b031633146106855760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b6001600160a01b0316600090815260036020526040812081815560010155565b6001600160a01b0316600090815260036020526040902054151590565b6002546001600160a01b0316331461070b5760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b6004546103b090600163ffffffff6107d116565b60055490565b6000546001600160a01b0316331461076e5760405162461bcd60e51b815260040180806020018281038252602f815260200180610864602f913960400191505060405180910390fd5b565b6000828201838110156107ca576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610828576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820716908b90556eb19706270737c1097b0ca3b6e4b76831732a3afc048080d079564736f6c63430005100032",
			"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": "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": "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": true,
					"inputs": [],
					"name": "totalIssuerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9371bede"
				}
			],
			"source": {
				"keccak256": "0x45133a63a5a48559ed0dff0a627e6e17df345adcfeadac9a2d75b82417846754",
				"urls": [
					"bzz-raw://2c75acaa9edc319af456fb47cee5887ad703710e72c0135d15d6aec6f9117b80",
					"dweb:/ipfs/QmVLuhdNh1Ewxy7i6wa2Einxw4mEfo6A4wpHvRkgS3TqjM"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceState.sol": "PeriFinanceState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceState.sol": {
						"keccak256": "0x45133a63a5a48559ed0dff0a627e6e17df345adcfeadac9a2d75b82417846754",
						"urls": [
							"bzz-raw://2c75acaa9edc319af456fb47cee5887ad703710e72c0135d15d6aec6f9117b80",
							"dweb:/ipfs/QmVLuhdNh1Ewxy7i6wa2Einxw4mEfo6A4wpHvRkgS3TqjM"
						]
					}
				},
				"version": 1
			}
		},
		"Proxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516106ee3803806106ee8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506105f4806100fa6000396000f3fe6080604052600436106100705760003560e01c806379ba50971161004e57806379ba5097146101925780638da5cb5b146101a7578063907dff97146101bc578063d4b839921461025157610070565b80631627540c146100f957806353a47bb71461012e578063776d1a011461015f575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b1580156100bc57600080fd5b505af11580156100d0573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e806100f5573d82fd5b3d82f35b34801561010557600080fd5b5061012c6004803603602081101561011c57600080fd5b50356001600160a01b0316610266565b005b34801561013a57600080fd5b506101436102c2565b604080516001600160a01b039092168252519081900360200190f35b34801561016b57600080fd5b5061012c6004803603602081101561018257600080fd5b50356001600160a01b03166102d1565b34801561019e57600080fd5b5061012c61032d565b3480156101b357600080fd5b506101436103e9565b3480156101c857600080fd5b5061012c600480360360c08110156101df57600080fd5b8101906020810181356401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184600183028401116401000000008311171561022e57600080fd5b9193509150803590602081013590604081013590606081013590608001356103f8565b34801561025d57600080fd5b50610143610501565b61026e610510565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6102d9610510565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b031633146103765760405162461bcd60e51b815260040180806020018281038252603581526020018061055c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b0316331461044e576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a9084908190840183828082843760009201919091525092935089925050811590506104b857600181146104c357600281146104cf57600381146104dc57600481146104ea576104f5565b8260208301a06104f5565b868360208401a16104f5565b85878460208501a26104f5565b8486888560208601a36104f5565b838587898660208701a45b50505050505050505050565b6002546001600160a01b031681565b6000546001600160a01b031633146105595760405162461bcd60e51b815260040180806020018281038252602f815260200180610591602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a7231582002cc7020a3da435976b944169f042d77f3392f8ab73bb2ee7dd18153548d5f4164736f6c63430005100032",
			"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"
				}
			],
			"source": {
				"keccak256": "0x70701b043f09b5a08f96530a91ff89cc151399b4daa24a5d0ae06eebeb22b3d0",
				"urls": [
					"bzz-raw://ab7e804772109609ff657ac9797b7fbc530922693ab8a9fe63743071056078e0",
					"dweb:/ipfs/QmQK3JCvbiBN5hBmjLeHwBC4WU163bFhFFG9w7dD3hGkbN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Proxy.sol": "Proxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Proxy.sol": {
						"keccak256": "0x70701b043f09b5a08f96530a91ff89cc151399b4daa24a5d0ae06eebeb22b3d0",
						"urls": [
							"bzz-raw://ab7e804772109609ff657ac9797b7fbc530922693ab8a9fe63743071056078e0",
							"dweb:/ipfs/QmQK3JCvbiBN5hBmjLeHwBC4WU163bFhFFG9w7dD3hGkbN"
						]
					}
				},
				"version": 1
			}
		},
		"EternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516112143803806112148339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505061106e806101a66000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104e9578063bdc963d814610506578063c9a52d2c14610523578063f58660661461059a576101a9565b8063a209a29c146104a1578063a77aa49e146104be578063aefc4ccb146104e1576101a9565b80638267a9ee116100d35780638267a9ee146104425780638da5cb5b1461045f5780639007127b1461046757806393fe424814610484576101a9565b806353a47bb7146104065780635a2bf25a1461040e57806379ba50971461043a576101a9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed2146102f057806344bfa56e146103155780634c77e5ba146103a757806352f445ca146103e0576101a9565b806325cf512d1461028d5780633562fd20146102b05780633cc1635c146102d3576101a9565b8063025ec81a146101ae578063043106c0146101dd5780630c55d925146101fc578063124f2418146102195780631627540c1461023657806317e7dd221461025c575b600080fd5b6101cb600480360360208110156101c457600080fd5b5035610611565b60408051918252519081900360200190f35b6101fa600480360360208110156101f357600080fd5b5035610623565b005b6101fa6004803603602081101561021257600080fd5b503561068a565b6101fa6004803603602081101561022f57600080fd5b50356106ed565b6101fa6004803603602081101561024c57600080fd5b50356001600160a01b0316610747565b6102796004803603602081101561027257600080fd5b50356107a3565b604080519115158252519081900360200190f35b6101fa600480360360408110156102a357600080fd5b50803590602001356107b8565b6101fa600480360360408110156102c657600080fd5b5080359060200135610813565b6101fa600480360360208110156102e957600080fd5b503561086e565b6101fa6004803603604081101561030657600080fd5b508035906020013515156108cf565b6103326004803603602081101561032b57600080fd5b5035610938565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036c578181015183820152602001610354565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c4600480360360208110156103bd57600080fd5b50356109d9565b604080516001600160a01b039092168252519081900360200190f35b6101fa600480360360208110156103f657600080fd5b50356001600160a01b03166109f4565b6103c4610a50565b6101fa6004803603604081101561042457600080fd5b50803590602001356001600160a01b0316610a5f565b6101fa610ad6565b6101fa6004803603602081101561045857600080fd5b5035610b92565b6103c4610bec565b6101cb6004803603602081101561047d57600080fd5b5035610bfb565b6101fa6004803603602081101561049a57600080fd5b5035610c0d565b610332600480360360208110156104b757600080fd5b5035610c67565b6101fa600480360360408110156104d457600080fd5b5080359060200135610cd1565b6103c4610d2c565b6101fa600480360360208110156104ff57600080fd5b5035610d3b565b6101cb6004803603602081101561051c57600080fd5b5035610d9b565b6101fa6004803603604081101561053957600080fd5b8135919081019060408101602082013564010000000081111561055b57600080fd5b82018360208201111561056d57600080fd5b8035906020019184600183028401116401000000008311171561058f57600080fd5b509092509050610dad565b6101fa600480360360408110156105b057600080fd5b813591908101906040810160208201356401000000008111156105d257600080fd5b8201836020820111156105e457600080fd5b8035906020019184600183028401116401000000008311171561060657600080fd5b509092509050610e15565b60009081526007602052604090205490565b6002546001600160a01b0316331461066c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146106d35760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526006602052604081206106ea91610ec2565b50565b6002546001600160a01b031633146107365760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260076020526040812055565b61074f610e77565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108015760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461085c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146108b75760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b031633146109185760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b820191906000526020600020905b8154815290600101906020018083116109b057829003601f168201915b50505050509050919050565b6000908152600560205260409020546001600160a01b031690565b6109fc610e77565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610aa85760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610b1f5760405162461bcd60e51b8152600401808060200182810382526035815260200180610fa26035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610bdb5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610c565760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b6002546001600160a01b03163314610d1a5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6002546001600160a01b03163314610d845760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526004602052604081206106ea91610ec2565b60009081526003602052604090205490565b6002546001600160a01b03163314610df65760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600660205260409020610e0f908383610f06565b50505050565b6002546001600160a01b03163314610e5e5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600460205260409020610e0f908383610f06565b6000546001600160a01b03163314610ec05760405162461bcd60e51b815260040180806020018281038252602f815260200180610fd7602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f10610ee857506106ea565b601f0160209004906000526020600020908101906106ea9190610f84565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f475782800160ff19823516178555610f74565b82800160010185558215610f74579182015b82811115610f74578235825591602001919060010190610f59565b50610f80929150610f84565b5090565b610f9e91905b80821115610f805760008155600101610f8a565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a723158208772e4183bfc5dfa2dd95d24d6e4ca9d74c2844ce809dc831e15d4fd87ec4b5f64736f6c63430005100032",
			"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"
				}
			],
			"source": {
				"keccak256": "0xc52073beecc8d1d01ad930a3273afce10c7cbb7a920c15c0dcaa96088ae27081",
				"urls": [
					"bzz-raw://c0c38a12c7c3c4daca7350629df60b8d9bce60ab7cd62f3d9aff9033b7d41b22",
					"dweb:/ipfs/QmZJYBc5L2Ent8ToYhe9nXjv8sufn4QWPDsRf68S72JuBB"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EternalStorage.sol": "EternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EternalStorage.sol": {
						"keccak256": "0xc52073beecc8d1d01ad930a3273afce10c7cbb7a920c15c0dcaa96088ae27081",
						"urls": [
							"bzz-raw://c0c38a12c7c3c4daca7350629df60b8d9bce60ab7cd62f3d9aff9033b7d41b22",
							"dweb:/ipfs/QmZJYBc5L2Ent8ToYhe9nXjv8sufn4QWPDsRf68S72JuBB"
						]
					}
				},
				"version": 1
			}
		},
		"DelegateApprovals": {
			"bytecode": "61012060405269105c1c1c9bdd99505b1b60b21b60809081526d4275726e466f724164647265737360901b60a0526e4973737565466f724164647265737360881b60c0526e436c61696d466f724164647265737360881b60e0527145786368616e6765466f724164647265737360701b61010052610081906002906005610195565b5034801561008e57600080fd5b50604051610fbc380380610fbc833981810160405260408110156100b157600080fd5b508051602090910151816001600160a01b038116610116576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600780546001600160a01b0319166001600160a01b0392909216919091179055506101f0565b82600581019282156101c3579160200282015b828111156101c35782518255916020019190600101906101a8565b506101cf9291506101d3565b5090565b6101ed91905b808211156101cf57600081556001016101d9565b90565b610dbd806101ff6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638da5cb5b116100de578063b5bb561911610097578063c5e17ab011610071578063c5e17ab014610487578063d8eeb7c11461048f578063e32b3f5214610497578063faf431bb1461049f5761018e565b8063b5bb561914610415578063b9156efa1461043b578063bc87acbf146104615761018e565b80638da5cb5b1461038357806398ff9c541461038b5780639c79ce35146103935780639cbc2ebe146103b95780639f61d336146103c1578063b42e0f15146103e75761018e565b8063447fbc631161014b5780636c8bc9fe116101255780636c8bc9fe146103015780636f95200b1461032757806379ba50971461034d5780637d3f0ba2146103555761018e565b8063447fbc631461029157806353a47bb7146102b757806359cec3d6146102db5761018e565b806304872617146101935780631627540c146101d557806321f4ae57146101fd5780632c70aecf1461022b5780634180e5b514610245578063431ce5401461026b575b600080fd5b6101c1600480360360408110156101a957600080fd5b506001600160a01b03813581169160200135166104cd565b604080519115158252519081900360200190f35b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166104f3565b005b6101c16004803603604081101561021357600080fd5b506001600160a01b038135811691602001351661054f565b61023361056e565b60408051918252519081900360200190f35b6101fb6004803603602081101561025b57600080fd5b50356001600160a01b0316610584565b6101fb6004803603602081101561028157600080fd5b50356001600160a01b03166105a4565b6101fb600480360360208110156102a757600080fd5b50356001600160a01b03166105c1565b6102bf6105e1565b604080516001600160a01b039092168252519081900360200190f35b6101fb600480360360208110156102f157600080fd5b50356001600160a01b03166105f0565b6101fb6004803603602081101561031757600080fd5b50356001600160a01b031661060c565b6101fb6004803603602081101561033d57600080fd5b50356001600160a01b0316610629565b6101fb61065a565b6101c16004803603604081101561036b57600080fd5b506001600160a01b0381358116916020013516610716565b6102bf610734565b6102bf610743565b6101fb600480360360208110156103a957600080fd5b50356001600160a01b0316610752565b61023361076e565b6101fb600480360360208110156103d757600080fd5b50356001600160a01b031661077f565b6101c1600480360360408110156103fd57600080fd5b506001600160a01b038135811691602001351661079c565b6101fb6004803603602081101561042b57600080fd5b50356001600160a01b031661082f565b6101fb6004803603602081101561045157600080fd5b50356001600160a01b03166108d6565b6101fb6004803603602081101561047757600080fd5b50356001600160a01b03166108f6565b61023361090e565b610233610924565b61023361093d565b6101c1600480360360408110156104b557600080fd5b506001600160a01b0381358116916020013516610952565b60006104ec6e4973737565466f724164647265737360881b8484610970565b9392505050565b6104fb610a0d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104ec6e436c61696d466f724164647265737360881b8484610970565b6e4973737565466f724164647265737360881b81565b6105a16e436c61696d466f724164647265737360881b3383610a58565b50565b6105a16e4973737565466f724164647265737360881b3383610b78565b6105a17145786368616e6765466f724164647265737360701b3383610a58565b6001546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610b78565b6105a16e436c61696d466f724164647265737360881b3383610b78565b60005b60058110156106565761064e6002826005811061064557fe5b01543384610b78565b60010161062c565b5050565b6001546001600160a01b031633146106a35760405162461bcd60e51b8152600401808060200182810382526035815260200180610d256035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006104ec6d4275726e466f724164647265737360901b8484610970565b6000546001600160a01b031681565b6007546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610a58565b69105c1c1c9bdd99505b1b60b21b81565b6105a16e4973737565466f724164647265737360881b3383610a58565b6007546000906001600160a01b03166317e7dd226107c869105c1c1c9bdd99505b1b60b21b8686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156107fc57600080fd5b505afa158015610810573d6000803e3d6000fd5b505050506040513d602081101561082657600080fd5b50519392505050565b610837610a0d565b6001600160a01b03811661087c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610cff6026913960400191505060405180910390fd5b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17916020908290030190a150565b6105a17145786368616e6765466f724164647265737360701b3383610b78565b6105a169105c1c1c9bdd99505b1b60b21b3383610a58565b6e436c61696d466f724164647265737360881b81565b7145786368616e6765466f724164647265737360701b81565b6d4275726e466f724164647265737360901b81565b60006104ec7145786368616e6765466f724164647265737360701b84845b600061097c838361079c565b15610989575060016104ec565b6007546001600160a01b03166317e7dd226109a5868686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156109d957600080fd5b505afa1580156109ed573d6000803e3d6000fd5b505050506040513d6020811015610a0357600080fd5b5051949350505050565b6000546001600160a01b03163314610a565760405162461bcd60e51b815260040180806020018281038252602f815260200180610d5a602f913960400191505060405180910390fd5b565b6001600160a01b038116610ab3576040805162461bcd60e51b815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015290519081900360640190fd5b6007546001600160a01b0316633eba9ed2610acf858585610cb2565b60016040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610b1257600080fd5b505af1158015610b26573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633693509081900390910190a2505050565b6007546001600160a01b03166317e7dd22610b94858585610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610bc857600080fd5b505afa158015610bdc573d6000803e3d6000fd5b505050506040513d6020811015610bf257600080fd5b505115610cad576007546001600160a01b0316633cc1635c610c15858585610cb2565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610c4b57600080fd5b505af1158015610c5f573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4193509081900390910190a25b505050565b6040805160208082018690526bffffffffffffffffffffffff19606086811b82168486015285901b1660548301528251604881840301815260689092019092528051910120939250505056fe43616e27742073657420657465726e616c53746f7261676520746f2061646472657373283029596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820f7764db06028d23b4e9bcae32ffa9e3121e39c276d64ac326333338301d3908864736f6c63430005100032",
			"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"
				}
			],
			"source": {
				"keccak256": "0xd821ad5f32ac92fe9cc2c44118d714737ed050426d16f29eb7f7edeb3e0ebe66",
				"urls": [
					"bzz-raw://7100ef244e6da47684c9281b7a432cbcd561cc3a702a330daafc0083bf66b59b",
					"dweb:/ipfs/QmeCHQfERyATiecvecXSBhsfnG35K8hpAU36gu3dKgoF3k"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DelegateApprovals.sol": "DelegateApprovals"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DelegateApprovals.sol": {
						"keccak256": "0xd821ad5f32ac92fe9cc2c44118d714737ed050426d16f29eb7f7edeb3e0ebe66",
						"urls": [
							"bzz-raw://7100ef244e6da47684c9281b7a432cbcd561cc3a702a330daafc0083bf66b59b",
							"dweb:/ipfs/QmeCHQfERyATiecvecXSBhsfnG35K8hpAU36gu3dKgoF3k"
						]
					}
				},
				"version": 1
			}
		},
		"Liquidations": {
			"bytecode": "608060405234801561001057600080fd5b50604051611ef6380380611ef68339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050611dd0806101266000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806379ba5097116100b8578063974e9e7f1161007c578063974e9e7f146102d0578063a0cf7451146102f6578063ad2bc2d5146102fe578063b410a03414610324578063c49e80a61461032c578063d45c0d7e1461035257610142565b806379ba50971461023a578063828afc4b14610242578063899ffef4146102685780638d1bd1be146102c05780638da5cb5b146102c857610142565b80632af64bd31161010a5780632af64bd3146101d857806339a9df1b146101f457806353a47bb71461021a5780636a05896614610222578063741853601461022a57806374e889c91461023257610142565b806304f3bcec146101475780630ac045d51461016b5780631627540c146101a05780631775765f146101c857806323f5589a146101d0575b600080fd5b61014f610378565b604080516001600160a01b039092168252519081900360200190f35b61018e6004803603604081101561018157600080fd5b5080359060200135610387565b60408051918252519081900360200190f35b6101c6600480360360208110156101b657600080fd5b50356001600160a01b0316610485565b005b61018e6104e1565b61018e6104f1565b6101e06104fb565b604080519115158252519081900360200190f35b6101e06004803603602081101561020a57600080fd5b50356001600160a01b0316610605565b61014f610630565b61018e61063f565b6101c6610657565b61018e61081f565b6101c6610839565b61018e6004803603602081101561025857600080fd5b50356001600160a01b03166108f5565b610270610910565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102ac578181015183820152602001610294565b505050509050019250505060405180910390f35b61018e610a2b565b61014f610ab4565b6101c6600480360360208110156102e657600080fd5b50356001600160a01b0316610ac3565b61018e610b3e565b6101c66004803603602081101561031457600080fd5b50356001600160a01b0316610b48565b61018e610d82565b6101e06004803603602081101561034257600080fd5b50356001600160a01b0316610d8c565b6101c66004803603602081101561036857600080fd5b50356001600160a01b0316610e6c565b6002546001600160a01b031681565b6000806103926111df565b9050600073__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156103da57600080fd5b505af41580156103ee573d6000803e3d6000fd5b505050506040513d602081101561040457600080fd5b50519050600061042a61041d868563ffffffff61128616565b879063ffffffff6112b016565b905060006104666104598561044d61044061130d565b879063ffffffff61138816565b9063ffffffff61128616565b849063ffffffff6112b016565b9050610478828263ffffffff6113e916565b9450505050505b92915050565b61048d611413565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104eb61145e565b90505b90565b60006104eb61130d565b60006060610507610910565b905060005b81518110156105fc57600082828151811061052357fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561058b57600080fd5b505afa15801561059f573d6000803e3d6000fd5b505050506040513d60208110156105b557600080fd5b50516001600160a01b03161415806105e257506000818152600360205260409020546001600160a01b0316155b156105f357600093505050506104ee565b5060010161050c565b50600191505090565b600061060f611c65565b610618836114d7565b90506106278160000151611583565b9150505b919050565b6001546001600160a01b031681565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b6060610661610910565b905060005b815181101561081b57600082828151811061067d57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561073357818101518382015260200161071b565b50505050905090810190601f1680156107605780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561077e57600080fd5b505afa158015610792573d6000803e3d6000fd5b505050506040513d60208110156107a857600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610666565b5050565b724c69717569646174696f6e446561646c696e6560681b81565b6001546001600160a01b031633146108825760405162461bcd60e51b8152600401808060200182810382526035815260200180611c7d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006108ff611c65565b610908836114d7565b519392505050565b60608061091b611595565b60408051600580825260c08201909252919250606091906020820160a0803883390190505090506b53797374656d53746174757360a01b8160008151811061095f57fe5b6020026020010181815250506a5065726946696e616e636560a81b8160018151811061098757fe5b6020026020010181815250507f457465726e616c53746f726167654c69717569646174696f6e73000000000000816002815181106109c157fe5b6020026020010181815250506524b9b9bab2b960d11b816003815181106109e457fe5b6020026020010181815250506c45786368616e6765526174657360981b81600481518110610a0e57fe5b602002602001018181525050610a2482826115e6565b9250505090565b60006104eb610a3861145e565b73__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610a7c57600080fd5b505af4158015610a90573d6000803e3d6000fd5b505050506040513d6020811015610aa657600080fd5b50519063ffffffff6116a216565b6000546001600160a01b031681565b610acb6116b7565b6001600160a01b0316336001600160a01b031614610b1a5760405162461bcd60e51b815260040180806020018281038252603e815260200180611d16603e913960400191505060405180910390fd5b610b22611c65565b610b2b826114d7565b80519091501561081b5761081b826116cb565b60006104eb611813565b635045524960e01b610b5861188c565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b9b57600080fd5b505afa158015610baf573d6000803e3d6000fd5b505050506040513d6020811015610bc557600080fd5b505115610c19576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b610c216118a7565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610c5957600080fd5b505afa158015610c6d573d6000803e3d6000fd5b50505050610c79611c65565b610c82836114d7565b8051909150610cd8576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000604482015290519081900360640190fd5b6000610ce26118c1565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d3757600080fd5b505afa158015610d4b573d6000803e3d6000fd5b505050506040513d6020811015610d6157600080fd5b50519050610d6d6111df565b8111610d7c57610d7c846116cb565b50505050565b60006104eb6111df565b600080610d976118c1565b6001600160a01b031663a311c7c2846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610dec57600080fd5b505afa158015610e00573d6000803e3d6000fd5b505050506040513d6020811015610e1657600080fd5b50519050610e226111df565b8111610e3257600091505061062b565b610e3a611c65565b610e43846114d7565b9050610e528160000151611583565b15610e625760019250505061062b565b5060009392505050565b635045524960e01b610e7c61188c565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ebf57600080fd5b505afa158015610ed3573d6000803e3d6000fd5b505050506040513d6020811015610ee957600080fd5b505115610f3d576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b610f456118a7565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610f7d57600080fd5b505afa158015610f91573d6000803e3d6000fd5b505050506000610f9f61145e565b11610ff1576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e20726174696f206e6f742073657400000000000000604482015290519081900360640190fd5b6000610ffb611813565b1161104d576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000604482015290519081900360640190fd5b611055611c65565b61105e836114d7565b80519091501561109f5760405162461bcd60e51b8152600401808060200182810382526027815260200180611d756027913960400191505060405180910390fd5b60006110a96118c1565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156110fe57600080fd5b505afa158015611112573d6000803e3d6000fd5b505050506040513d602081101561112857600080fd5b5051905061113461145e565b8110156111725760405162461bcd60e51b8152600401808060200182810382526035815260200180611cb26035913960400191505060405180910390fd5b600061118c61117f611813565b429063ffffffff61138816565b90506111998582336118da565b6040805182815290516001600160a01b038716917fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996919081900360200190a25050505050565b60006111e9611a07565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561125557600080fd5b505afa158015611269573d6000803e3d6000fd5b505050506040513d602081101561127f57600080fd5b5051905090565b6000670de0b6b3a76400006112a1848463ffffffff611a2416565b816112a857fe5b049392505050565b600082821115611307576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000611317611a07565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561125557600080fd5b6000828201838110156113e2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006113e28261140785670de0b6b3a764000063ffffffff611a2416565b9063ffffffff611a7d16565b6000546001600160a01b0316331461145c5760405162461bcd60e51b815260040180806020018281038252602f815260200180611ce7602f913960400191505060405180910390fd5b565b6000611468611a07565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561125557600080fd5b6114df611c65565b6114e7611ae7565b6001600160a01b031663bdc963d8611515724c69717569646174696f6e446561646c696e6560681b85611b12565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561154957600080fd5b505afa15801561155d573d6000803e3d6000fd5b505050506040513d602081101561157357600080fd5b5051815260006020820152919050565b6000808211801561047f575050421190565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106115d757fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611616578160200160208202803883390190505b50905060005b83518110156116585783818151811061163157fe5b602002602001015182828151811061164557fe5b602090810291909101015260010161161c565b5060005b825181101561169b5782818151811061167157fe5b602002602001015182828651018151811061168857fe5b602090810291909101015260010161165c565b5092915050565b60006113e28383670de0b6b3a7640000611b51565b60006104eb6524b9b9bab2b960d11b611b88565b6116d3611ae7565b6001600160a01b03166393fe4248611701724c69717569646174696f6e446561646c696e6560681b84611b12565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561173757600080fd5b505af115801561174b573d6000803e3d6000fd5b50505050611757611ae7565b6001600160a01b031663043106c0611783702634b8bab4b230ba34b7b721b0b63632b960791b84611b12565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156117b957600080fd5b505af11580156117cd573d6000803e3d6000fd5b50506040805142815290516001600160a01b03851693507f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c8792509081900360200190a250565b600061181d611a07565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561125557600080fd5b60006104eb6c45786368616e6765526174657360981b611b88565b60006104eb6b53797374656d53746174757360a01b611b88565b60006104eb6a5065726946696e616e636560a81b611b88565b6118e2611ae7565b6001600160a01b0316633562fd20611910724c69717569646174696f6e446561646c696e6560681b86611b12565b846040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561194e57600080fd5b505af1158015611962573d6000803e3d6000fd5b5050505061196e611ae7565b6001600160a01b0316635a2bf25a61199a702634b8bab4b230ba34b7b721b0b63632b960791b86611b12565b836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b1580156119ea57600080fd5b505af11580156119fe573d6000803e3d6000fd5b50505050505050565b60006104eb6e466c657869626c6553746f7261676560881b611b88565b600082611a335750600061047f565b82820282848281611a4057fe5b04146113e25760405162461bcd60e51b8152600401808060200182810382526021815260200180611d546021913960400191505060405180910390fd5b6000808211611ad3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611ade57fe5b04949350505050565b60006104eb7f457465726e616c53746f726167654c69717569646174696f6e73000000000000611b88565b6040805160208082019490945260609290921b6bffffffffffffffffffffffff1916828201528051808303603401815260549092019052805191012090565b600080611b6b8461140787600a870263ffffffff611a2416565b90506005600a820610611b7c57600a015b600a9004949350505050565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161169b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c2a578181015183820152602001611c12565b50505050905090810190601f168015611c575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60408051808201909152600080825260208201529056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704163636f756e742069737375616e636520726174696f206973206c657373207468616e206c69717569646174696f6e20726174696f4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4c69717569646174696f6e733a204f6e6c79207468652049737375657220636f6e74726163742063616e20706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774163636f756e7420616c726561647920666c616767656420666f72206c69717569646174696f6ea265627a7a72315820b1500d14ba065248a7a2b85ae062da2687e27ea946e944771a8c021878e5089564736f6c63430005100032",
			"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": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"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": 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": [
						{
							"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": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"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": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"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": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				}
			],
			"source": {
				"keccak256": "0x6479e3047802c4d6b568f71371aaa70e05f1ee1a2dafd410c20c7d8285b9956f",
				"urls": [
					"bzz-raw://659d951e44387e6beb928efeb8502a77f9310aa7bded9c766d67991a702d0f53",
					"dweb:/ipfs/QmVr5nxASz5gRZHSjKPe9GSbbcwb9RtHPZkbwmt9NUv84t"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Liquidations.sol": "Liquidations"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Liquidations.sol": {
						"keccak256": "0x6479e3047802c4d6b568f71371aaa70e05f1ee1a2dafd410c20c7d8285b9956f",
						"urls": [
							"bzz-raw://659d951e44387e6beb928efeb8502a77f9310aa7bded9c766d67991a702d0f53",
							"dweb:/ipfs/QmVr5nxASz5gRZHSjKPe9GSbbcwb9RtHPZkbwmt9NUv84t"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolEternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516114d03803806114d08339818101604052604081101561003357600080fd5b50805160209091015162375f00828280826001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610149576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050504201600a55505061131d806101b36000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806353a47bb711610104578063a209a29c116100a2578063ba69fcaa11610071578063ba69fcaa146105d5578063bdc963d8146105f2578063c9a52d2c1461060f578063f586606614610684576101cf565b8063a209a29c146104cf578063a77aa49e146104ec578063aefc4ccb1461050f578063b3ffbd9e14610517576101cf565b80638267a9ee116100de5780638267a9ee146104705780638da5cb5b1461048d5780639007127b1461049557806393fe4248146104b2576101cf565b806353a47bb7146104345780635a2bf25a1461043c57806379ba509714610468576101cf565b80633562fd201161017157806344bfa56e1161014b57806344bfa56e1461033b57806346ba2d90146103cd5780634c77e5ba146103d557806352f445ca1461040e576101cf565b80633562fd20146102d65780633cc1635c146102f95780633eba9ed214610316576101cf565b8063124f2418116101ad578063124f24181461023f5780631627540c1461025c57806317e7dd221461028257806325cf512d146102b3576101cf565b8063025ec81a146101d4578063043106c0146102035780630c55d92514610222575b600080fd5b6101f1600480360360208110156101ea57600080fd5b50356106f9565b60408051918252519081900360200190f35b6102206004803603602081101561021957600080fd5b503561070b565b005b6102206004803603602081101561023857600080fd5b5035610772565b6102206004803603602081101561025557600080fd5b50356107d5565b6102206004803603602081101561027257600080fd5b50356001600160a01b031661082f565b61029f6004803603602081101561029857600080fd5b503561088b565b604080519115158252519081900360200190f35b610220600480360360408110156102c957600080fd5b50803590602001356108a0565b610220600480360360408110156102ec57600080fd5b50803590602001356108fb565b6102206004803603602081101561030f57600080fd5b5035610956565b6102206004803603604081101561032c57600080fd5b508035906020013515156109b7565b6103586004803603602081101561035157600080fd5b5035610a20565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561039257818101518382015260200161037a565b50505050905090810190601f1680156103bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f1610ac1565b6103f2600480360360208110156103eb57600080fd5b5035610ac7565b604080516001600160a01b039092168252519081900360200190f35b6102206004803603602081101561042457600080fd5b50356001600160a01b0316610ae2565b6103f2610b3e565b6102206004803603604081101561045257600080fd5b50803590602001356001600160a01b0316610b4d565b610220610bc4565b6102206004803603602081101561048657600080fd5b5035610c80565b6103f2610cda565b6101f1600480360360208110156104ab57600080fd5b5035610ce9565b610220600480360360208110156104c857600080fd5b5035610cfb565b610358600480360360208110156104e557600080fd5b5035610d55565b6102206004803603604081101561050257600080fd5b5080359060200135610dbf565b6103f2610e1a565b6102206004803603604081101561052d57600080fd5b810190602081018135600160201b81111561054757600080fd5b82018360208201111561055957600080fd5b803590602001918460208302840111600160201b8311171561057a57600080fd5b919390929091602081019035600160201b81111561059757600080fd5b8201836020820111156105a957600080fd5b803590602001918460208302840111600160201b831117156105ca57600080fd5b509092509050610e29565b610220600480360360208110156105eb57600080fd5b5035610fc1565b6101f16004803603602081101561060857600080fd5b5035611021565b6102206004803603604081101561062557600080fd5b81359190810190604081016020820135600160201b81111561064657600080fd5b82018360208201111561065857600080fd5b803590602001918460018302840111600160201b8311171561067957600080fd5b509092509050611033565b6102206004803603604081101561069a57600080fd5b81359190810190604081016020820135600160201b8111156106bb57600080fd5b8201836020820111156106cd57600080fd5b803590602001918460018302840111600160201b831117156106ee57600080fd5b50909250905061109b565b60009081526007602052604090205490565b6002546001600160a01b031633146107545760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146107bb5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526006602052604081206107d291611148565b50565b6002546001600160a01b0316331461081e5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260076020526040812055565b6108376110fd565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108e95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b031633146109445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b0316331461099f5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b03163314610a005760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b820191906000526020600020905b815481529060010190602001808311610a9857829003601f168201915b50505050509050919050565b600a5481565b6000908152600560205260409020546001600160a01b031690565b610aea6110fd565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b965760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610c0d5760405162461bcd60e51b81526004018080602001828103825260358152602001806112286035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610cc95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610d445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b6002546001600160a01b03163314610e085760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b610e316110fd565b600a544210610e715760405162461bcd60e51b81526004018080602001828103825260298152602001806112c06029913960400191505060405180910390fd5b828114610eb7576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b60ff8116841115610fba5730633562fd20721b185cdd17d9995957ddda5d1a191c985dd85b606a1b878760ff8616818110610ef157fe5b905060200201356001600160a01b031660405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012085858560ff16818110610f5257fe5b905060200201356040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610f9657600080fd5b505af1158015610faa573d6000803e3d6000fd5b505060019092019150610eba9050565b5050505050565b6002546001600160a01b0316331461100a5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526004602052604081206107d291611148565b60009081526003602052604090205490565b6002546001600160a01b0316331461107c5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260066020526040902061109590838361118c565b50505050565b6002546001600160a01b031633146110e45760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260046020526040902061109590838361118c565b6000546001600160a01b031633146111465760405162461bcd60e51b815260040180806020018281038252602f81526020018061125d602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f1061116e57506107d2565b601f0160209004906000526020600020908101906107d2919061120a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111cd5782800160ff198235161785556111fa565b828001600101855582156111fa579182015b828111156111fa5782358255916020019190600101906111df565b5061120692915061120a565b5090565b61122491905b808211156112065760008155600101611210565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a7231582054171d095fd964848af7af92532f32e594e97b7601be52a5a4e1eddc8503b49a64736f6c63430005100032",
			"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"
				}
			],
			"source": {
				"keccak256": "0xc756c06d02ef23fa3b8d66e669af4595b7041a298848b20e4fa100c7d5f262ce",
				"urls": [
					"bzz-raw://3ee23b538e741309320ea1ff36131b229ef366a5a8063388ef347c92cf59adbd",
					"dweb:/ipfs/QmXux4SjqFciSehaAAPFcQctgNDyqcuBWywzpfZ7AKuqzE"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolEternalStorage.sol": "FeePoolEternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FeePoolEternalStorage.sol": {
						"keccak256": "0xc756c06d02ef23fa3b8d66e669af4595b7041a298848b20e4fa100c7d5f262ce",
						"urls": [
							"bzz-raw://3ee23b538e741309320ea1ff36131b229ef366a5a8063388ef347c92cf59adbd",
							"dweb:/ipfs/QmXux4SjqFciSehaAAPFcQctgNDyqcuBWywzpfZ7AKuqzE"
						]
					}
				},
				"version": 1
			}
		},
		"FeePool": {
			"bytecode": "6080604052631c1554d160e21b6008553480156200001c57600080fd5b506040516200491d3803806200491d8339810160408190526200003f9162000221565b8080621baf8085856001600160a01b038116620000795760405162461bcd60e51b8152600401620000709062000343565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c69184906200030b565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b8152600401620000709062000331565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9062000147908390620002fb565b60405180910390a1504201600555600680546001600160a01b0319166001600160a01b0392909216919091179055506001620001846000620001e2565b80546001600160401b0319166001600160401b039290921691909117905542620001af6000620001e2565b80546001600160401b0392909216600160801b02600160801b600160c01b0319909216919091179055506200039e915050565b60006009600260ff16836013540181620001f857fe5b06600281106200020457fe5b6005020192915050565b80516200021b8162000384565b92915050565b6000806000606084860312156200023757600080fd5b60006200024586866200020e565b935050602062000258868287016200020e565b92505060406200026b868287016200020e565b9150509250925092565b620002808162000370565b82525050565b62000280816200035e565b6000620002a060118362000355565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002cf60198362000355565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200021b828462000275565b604081016200031b828562000275565b6200032a602083018462000286565b9392505050565b602080825281016200021b8162000291565b602080825281016200021b81620002c0565b90815260200190565b60006001600160a01b0382166200021b565b60006200021b8260006200021b826200035e565b6200038f816200035e565b81146200039b57600080fd5b50565b61456f80620003ae6000396000f3fe608060405234801561001057600080fd5b50600436106102925760003560e01c80637418536011610160578063b10090b8116100d8578063d67bdd251161008c578063eb1edd6111610071578063eb1edd61146104db578063ec556889146104e3578063fd1f498d146104eb57610292565b8063d67bdd25146104cb578063e0e6393d146104d357610292565b8063bc67f832116100bd578063bc67f8321461049b578063cff2ddad146104ae578063d294f093146104c357610292565b8063b10090b814610480578063b410a0341461049357610292565b8063899ffef41161012f57806397107d6d1161011457806397107d6d1461045d5780639cbdaeb614610470578063ac8341931461047857610292565b8063899ffef4146104405780638da5cb5b1461045557610292565b8063741853601461040a57806379ba509714610412578063866452741461041a5780638844578a1461042d57610292565b8063331400161161020e57806353a47bb7116101c257806359a2f19f116101a757806359a2f19f146103dc5780636466f45e146103ef5780636de813f11461040257610292565b806353a47bb7146103bf578063569249d0146103d457610292565b80633fcd2240116101f35780633fcd224014610389578063446530d1146103af57806346ba2d90146103b757610292565b806333140016146103615780633ebc457a1461038157610292565b8063131b0ae71161026557806322425fa41161024a57806322425fa41461033157806322bf55ef146103395780632af64bd31461034c57610292565b8063131b0ae7146103095780631627540c1461031e57610292565b806304f3bcec1461029757806307ea50cd146102b55780630813071c146102d55780630de58615146102e8575b600080fd5b61029f6104fe565b6040516102ac9190614204565b60405180910390f35b6102c86102c33660046133d5565b61050d565b6040516102ac9190614121565b6102c86102e3366004613419565b6105e2565b6102fb6102f63660046133d5565b61072e565b6040516102ac92919061413d565b61031c6103173660046133d5565b6107b0565b005b61031c61032c3660046133d5565b6107da565b6102c8610838565b61031c6103473660046134fa565b610848565b6103546109f8565b6040516102ac9190614113565b61037461036f3660046133d5565b610b28565b6040516102ac91906140f4565b61031c610d8c565b61039c6103973660046134fa565b6110db565b6040516102ac97969594939291906143b1565b6102c8611184565b6102c861118a565b6103c7611190565b6040516102ac9190613fec565b6102c861119f565b6103546103ea3660046133d5565b6111fa565b6103546103fd3660046133d5565b61120c565b6102c8611336565b61031c61138b565b61031c6114dd565b61031c610428366004613453565b611579565b61031c61043b3660046134fa565b6116b9565b610448611760565b6040516102ac9190614102565b6103c7611a46565b61031c61046b3660046133d5565b611a55565b61029f611aa8565b6102c8611ab7565b61031c61048e366004613578565b611b57565b6102c8611d51565b61031c6104a93660046133d5565b611d5b565b6104b6611d85565b6040516102ac9190614419565b610354611d8a565b6103c7611e01565b6102c8611e10565b6103c7611e1a565b61029f611e32565b61031c6104f93660046134fa565b611e41565b6006546001600160a01b031681565b6000610517611ebe565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c0000000000000000000000000084604051602001610558929190613f7a565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b815260040161058a9190614121565b60206040518083038186803b1580156105a257600080fd5b505afa1580156105b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105da91908101906134be565b90505b919050565b60008161060a5760405162461bcd60e51b815260040161060190614373565b60405180910390fd5b6002821061062a5760405162461bcd60e51b815260040161060190614333565b61063660018303611ee9565b5468010000000000000000900467ffffffffffffffff1661065957506000610728565b6000610689600161066c60018603611ee9565b5468010000000000000000900467ffffffffffffffff1690611f13565b9050600080610696611f3b565b6001600160a01b031663d29c000a87856040518363ffffffff1660e01b81526004016106c392919061407c565b604080518083038186803b1580156106da57600080fd5b505afa1580156106ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107129190810190613548565b9092509050610722838383611f66565b93505050505b92915050565b6000806107396132ed565b61074284610b28565b905060008060015b60028110156107a35761076f84826002811061076257fe5b60200201515184906120b1565b925061079984826002811061078057fe5b602002015160016020020151839063ffffffff6120b116565b915060010161074a565b509093509150505b915091565b6107b86120d6565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6107e26120d6565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061082d908390613fec565b60405180910390a150565b6000610842612102565b90505b90565b60006108526121ba565b6001600160a01b03163314905060008061086a6121e5565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b81526004016108959190613ffa565b60206040518083038186803b1580156108ad57600080fd5b505afa1580156108c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108e591908101906134be565b1415905060006108f36121f9565b6001600160a01b0316336001600160a01b03161490506000610913612224565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b815260040161093e9190613ffa565b60206040518083038186803b15801561095657600080fd5b505afa15801561096a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061098e91908101906134a0565b905083806109995750825b806109a15750815b806109a95750805b6109c55760405162461bcd60e51b815260040161060190614233565b6109e3856109d36000611ee9565b600101549063ffffffff6120b116565b6109ed6000611ee9565b600101555050505050565b60006060610a04611760565b905060005b8151811015610b1f576000828281518110610a2057fe5b602090810291909101810151600081815260079092526040918290205460065492517f21f8a7210000000000000000000000000000000000000000000000000000000081529193506001600160a01b039081169216906321f8a72190610a8a908590600401614121565b60206040518083038186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ada91908101906133fb565b6001600160a01b0316141580610b0557506000818152600760205260409020546001600160a01b0316155b15610b165760009350505050610845565b50600101610a09565b50600191505090565b610b306132ed565b6000806000610b3d611f3b565b6040517fb326f84e0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063b326f84e90610b88908890600090600401614023565b604080518083038186803b158015610b9f57600080fd5b505afa158015610bb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bd79190810190613548565b909350915081158015610be8575082155b15610c0057610bf56132ed565b93506105dd92505050565b600080610c0f6000868661224f565b8751829052875160200181905290925090506000610c2c8861050d565b905060015b8015610d805760001981016000610c4782611ee9565b5468010000000000000000900467ffffffffffffffff1690508015801590610c815750610c7383611ee9565b5467ffffffffffffffff1684105b15610d75576000610c9982600163ffffffff611f1316565b6040517fd29c000a0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0389169063d29c000a90610ce3908f90859060040161407c565b604080518083038186803b158015610cfa57600080fd5b505afa158015610d0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d329190810190613548565b909a509850610d42848b8b61224f565b9097509550868b8560028110610d5457fe5b602002015152858b8560028110610d6757fe5b602002015160016020020152505b505060001901610c31565b50505050505050919050565b610d946122f1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610dcc57600080fd5b505afa158015610de0573d6000803e3d6000fd5b505050506000610dee612102565b11610e0b5760405162461bcd60e51b815260040161060190614383565b610e13612102565b4203610e1f6000611ee9565b54600160801b900467ffffffffffffffff161115610e4f5760405162461bcd60e51b815260040161060190614253565b6000610e5a81611ee9565b90506000610e686001611ee9565b9050610e998260010154610e8d83600201548460010154611f1390919063ffffffff16565b9063ffffffff6120b116565b610ea36000611ee9565b60010155600380830154600483015491830154610eca92610e8d919063ffffffff611f1316565b610ed46000611ee9565b60030155601354610f1190600290610f0590600190610ef9908463ffffffff6120b116565b9063ffffffff611f1316565b9063ffffffff61231c16565b601381905560099060028110610f2357fe5b6005020180547fffffffffffffffff000000000000000000000000000000000000000000000000168155600060018083018290556002830182905560038301829055600490920155610f8f90610f7881611ee9565b5467ffffffffffffffff169063ffffffff6120b116565b610f996000611ee9565b805467ffffffffffffffff191667ffffffffffffffff92909216919091179055610fc161234c565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff957600080fd5b505afa15801561100d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061103191908101906134be565b61103b6000611ee9565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff0000000000000000199092169190911790554261107b6000611ee9565b805467ffffffffffffffff92909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff9092169190911790556110d76110c76001611ee9565b5467ffffffffffffffff16612377565b5050565b60008060008060008060006110ee61331a565b6110f789611ee9565b6040805160e081018252825467ffffffffffffffff808216808452680100000000000000008304821660208501819052600160801b909304909116938301849052600185015460608401819052600286015460808501819052600387015460a0860181905260049097015460c0909501859052919f929e50939c50929a5091985091965090945092505050565b60145481565b60055481565b6001546001600160a01b031681565b60008060015b60028110156111f4576111cb6111ba82611ee9565b60010154839063ffffffff6120b116565b91506111ea6111d982611ee9565b60020154839063ffffffff611f1316565b91506001016111a5565b50905090565b60006112058261242f565b5092915050565b60006112166122f1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561124e57600080fd5b505afa158015611262573d6000803e3d6000fd5b5050505061126e61261e565b611276612674565b600480546040517f21f4ae570000000000000000000000000000000000000000000000000000000081526001600160a01b03938416936321f4ae57936112c193889392169101614008565b60206040518083038186803b1580156112d957600080fd5b505afa1580156112ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061131191908101906134a0565b61132d5760405162461bcd60e51b8152600401610601906142c3565b6105da8261269f565b60008060015b60028110156111f45761136261135182611ee9565b60030154839063ffffffff6120b116565b915061138161137082611ee9565b60040154839063ffffffff611f1316565b915060010161133c565b6060611395611760565b905060005b81518110156110d75760008282815181106113b157fe5b602002602001015190506000600660009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016113f39190613fd6565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161141f92919061414b565b60206040518083038186803b15801561143757600080fd5b505afa15801561144b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061146f91908101906133fb565b6000838152600760205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906114cb908490849061412f565b60405180910390a1505060010161139a565b6001546001600160a01b031633146115075760405162461bcd60e51b815260040161060190614243565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261154a926001600160a01b0391821692911690614008565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006115836121e5565b6001600160a01b0316336001600160a01b031614905060006115a361234c565b6001600160a01b0316336001600160a01b031614905081806115c25750805b6115de5760405162461bcd60e51b815260040161060190614223565b6115e6611f3b565b6001600160a01b03166394e1a4488686866116016000611ee9565b5460405160e086901b7fffffffff000000000000000000000000000000000000000000000000000000001681526116549493929168010000000000000000900467ffffffffffffffff16906004016140bf565b600060405180830381600087803b15801561166e57600080fd5b505af1158015611682573d6000803e3d6000fd5b505050506116b28585856116966000611ee9565b5468010000000000000000900467ffffffffffffffff16612794565b5050505050565b6116c16120d6565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561170557600080fd5b505af4158015611719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061173d91908101906134be565b811061175b5760405162461bcd60e51b815260040161060190614393565b601455565b60608061176b612863565b60408051600c8082526101a082019092529192506060919060208201610180803883390190505090507f53797374656d5374617475730000000000000000000000000000000000000000816000815181106117c257fe5b6020026020010181815250507f5065726946696e616e6365000000000000000000000000000000000000000000816001815181106117fc57fe5b6020026020010181815250507f466565506f6f6c537461746500000000000000000000000000000000000000008160028151811061183657fe5b6020026020010181815250507f466565506f6f6c457465726e616c53746f7261676500000000000000000000008160038151811061187057fe5b6020026020010181815250507f45786368616e6765720000000000000000000000000000000000000000000000816004815181106118aa57fe5b6020026020010181815250506524b9b9bab2b960d11b816005815181106118cd57fe5b6020026020010181815250507f5065726946696e616e63655374617465000000000000000000000000000000008160068151811061190757fe5b6020026020010181815250507f526577617264457363726f7756320000000000000000000000000000000000008160078151811061194157fe5b6020026020010181815250507f44656c6567617465417070726f76616c730000000000000000000000000000008160088151811061197b57fe5b6020026020010181815250507f4574686572436f6c6c61746572616c7055534400000000000000000000000000816009815181106119b557fe5b6020026020010181815250507f52657761726473446973747269627574696f6e0000000000000000000000000081600a815181106119ef57fe5b6020026020010181815250507f436f6c6c61746572616c4d616e6167657200000000000000000000000000000081600b81518110611a2957fe5b602002602001018181525050611a3f82826128c2565b9250505090565b6000546001600160a01b031681565b611a5d6120d6565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9061082d908390613ffa565b6003546001600160a01b031681565b6000610842611b43611ac7612977565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611b0b57600080fd5b505af4158015611b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e8d91908101906134be565b611b4b6129df565b9063ffffffff612a4716565b611b5f612a71565b6005544210611b805760405162461bcd60e51b815260040161060190614343565b611b8861234c565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015611bc057600080fd5b505afa158015611bd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bf891908101906134be565b861115611c175760405162461bcd60e51b815260040161060190614323565b6040518060e001604052808867ffffffffffffffff1681526020018767ffffffffffffffff1681526020018667ffffffffffffffff168152602001858152602001848152602001838152602001828152506009611c87600260ff16610f058c6013546120b190919063ffffffff16565b60028110611c9157fe5b82516005919091029190910180546020840151604085015167ffffffffffffffff1990921667ffffffffffffffff948516176fffffffffffffffff000000000000000019166801000000000000000091851691909102177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16600160801b9390911692909202919091178155606082015160018201556080820151600282015560a0820151600382015560c0909101516004909101555050505050505050565b60006108426129df565b611d63612af6565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600281565b6000611d946122f1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611dcc57600080fd5b505afa158015611de0573d6000803e3d6000fd5b50505050611dec61261e565b600454610842906001600160a01b031661269f565b6004546001600160a01b031681565b6000610842612977565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b6000611e4b612b35565b6004549091506001600160a01b0380831691161480611e725750336001600160a01b038216145b611e8e5760405162461bcd60e51b8152600401610601906142d3565b611eac82611e9c6000611ee9565b600301549063ffffffff6120b116565b611eb66000611ee9565b600301555050565b60006108427f466565506f6f6c457465726e616c53746f726167650000000000000000000000612b5c565b60006009600260ff16836013540181611efe57fe5b0660028110611f0957fe5b6005020192915050565b600082821115611f355760405162461bcd60e51b815260040161060190614283565b50900390565b60006108427f466565506f6f6c53746174650000000000000000000000000000000000000000612b5c565b600080611f7161234c565b905060006120a585612099846001600160a01b03166308d95cd5886040518263ffffffff1660e01b8152600401611fa89190614121565b60206040518083038186803b158015611fc057600080fd5b505afa158015611fd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ff891908101906134be565b6040517f08d95cd50000000000000000000000000000000000000000000000000000000081526001600160a01b038716906308d95cd59061203d908d90600401614121565b60206040518083038186803b15801561205557600080fd5b505afa158015612069573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061208d91908101906134be565b9063ffffffff612bb916565b9063ffffffff612bd216565b925050505b9392505050565b6000828201838110156120aa5760405162461bcd60e51b815260040161060190614273565b6000546001600160a01b031633146121005760405162461bcd60e51b8152600401610601906142e3565b565b600061210c612beb565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b815260040161216a92919061413d565b60206040518083038186803b15801561218257600080fd5b505afa158015612196573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061084291908101906134be565b60006108427f45786368616e6765720000000000000000000000000000000000000000000000612b5c565b60006108426524b9b9bab2b960d11b612b5c565b60006108427f4574686572436f6c6c61746572616c7055534400000000000000000000000000612b5c565b60006108427f436f6c6c61746572616c4d616e61676572000000000000000000000000000000612b5c565b60008083612262575060009050806122e9565b83851561228d57600061227c600161066c60018a03611ee9565b9050612289818787611f66565b9150505b60006122ac8261229c89611ee9565b600101549063ffffffff612a4716565b905060006122cd836122bd8a611ee9565b600301549063ffffffff612a4716565b90506122d882612c16565b6122e182612c16565b945094505050505b935093915050565b60006108427f53797374656d5374617475730000000000000000000000000000000000000000612b5c565b60008161233b5760405162461bcd60e51b8152600401610601906142b3565b81838161234457fe5b069392505050565b60006108427f5065726946696e616e6365537461746500000000000000000000000000000000612b5c565b6002546040516001600160a01b039091169063907dff979061239d908490602001614121565b60405160208183030381529060405260016040516123ba90613fe1565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1682526124019392916000908190819060040161416b565b600060405180830381600087803b15801561241b57600080fd5b505af11580156116b2573d6000803e3d6000fd5b600080600061243c6121e5565b6001600160a01b0316639288e7048560008060016040518563ffffffff1660e01b815260040161246f949392919061403e565b60206040518083038186803b15801561248757600080fd5b505afa15801561249b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124bf91908101906134be565b905061251661250e60145473__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611b0b57600080fd5b611b4b612c38565b81111561252a5760008092509250506107ab565b6000806125356121e5565b6001600160a01b031663ae3bbbbb876040518263ffffffff1660e01b81526004016125609190613fec565b604080518083038186803b15801561257757600080fd5b505afa15801561258b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125af9190810190613518565b9150915060006125bd6129df565b9050808310156125d657506001945092506107ab915050565b60006125f36125e6611ac7612977565b839063ffffffff612a4716565b90508084111561260e576000839650965050505050506107ab565b5060019550909350505050915091565b6002546001600160a01b0316331480159061264457506003546001600160a01b03163314155b801561265b57506004546001600160a01b03163314155b1561210057600480546001600160a01b03191633179055565b60006108427f44656c6567617465417070726f76616c73000000000000000000000000000000612b5c565b60008080808080806126b08861242f565b91509150816126d15760405162461bcd60e51b8152600401610601906142f3565b80156126ef5760405162461bcd60e51b815260040161060190614303565b6126f88861072e565b90945092508315158061270b5750600083115b6127275760405162461bcd60e51b8152600401610601906142a3565b612745886127356001611ee9565b5467ffffffffffffffff16612ca0565b83156127605761275484612d53565b94506127608886612e2f565b821561277b5761276f83612fcb565b955061277b88876130a5565b61278688868861311f565b506001979650505050505050565b6002546040516001600160a01b039091169063907dff97906127be908690869086906020016143a3565b60405160208183030381529060405260026040516127db90613fab565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16825261282b9392916001600160a01b038b169060009081906004016141ca565b600060405180830381600087803b15801561284557600080fd5b505af1158015612859573d6000803e3d6000fd5b5050505050505050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f726167650000000000000000000000000000000000816000815181106128b357fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156128f2578160200160208202803883390190505b50905060005b83518110156129345783818151811061290d57fe5b602002602001015182828151811061292157fe5b60209081029190910101526001016128f8565b5060005b82518110156112055782818151811061294d57fe5b602002602001015182828651018151811061296457fe5b6020908102919091010152600101612938565b6000612981612beb565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b815260040161216a92919061413d565b60006129e9612beb565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b815260040161216a92919061413d565b6000670de0b6b3a7640000612a62848463ffffffff6131e416565b81612a6957fe5b049392505050565b6002546001600160a01b03163314801590612a9757506003546001600160a01b03163314155b8015612aae57506004546001600160a01b03163314155b15612ac657600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146121005760405162461bcd60e51b815260040161060190614263565b6002546001600160a01b0316331480612b1957506003546001600160a01b031633145b6121005760405162461bcd60e51b815260040161060190614363565b60006108427f52657761726473446973747269627574696f6e000000000000000000000000005b60008181526007602090815260408083205490516001600160a01b039091169182151591612b8c91869101613fb6565b604051602081830303815290604052906112055760405162461bcd60e51b81526004016106019190614212565b60006120aa83836b033b2e3c9fd0803ce800000061321e565b60006120aa83836b033b2e3c9fd0803ce8000000613262565b60006108427f466c657869626c6553746f726167650000000000000000000000000000000000612b5c565b60006305f5e10082046005600a820610612c2e57600a015b600a900492915050565b6000612c42612beb565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65787465726e616c546f6b656e51756f746100000000000000000000000000006040518363ffffffff1660e01b815260040161216a92919061413d565b612ca8611ebe565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c0000000000000000000000000084604051602001612ce9929190613f7a565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401612d1d92919061413d565b600060405180830381600087803b158015612d3757600080fd5b505af1158015612d4b573d6000803e3d6000fd5b505050505050565b6000818160015b6002811015612e27576000612d6e82611ee9565b6002015490506000612d9382612d8385611ee9565b600101549063ffffffff611f1316565b90508015612e1c576000858210612daa5785612dac565b815b9050612dbe838263ffffffff6120b116565b612dc785611ee9565b60020155612ddb868263ffffffff611f1316565b9550612ded858263ffffffff6120b116565b945085612e02578496505050505050506105dd565b83158015612e105750600086115b15612e1a57600095505b505b505060001901612d5a565b509392505050565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef1415612e6d5760405162461bcd60e51b815260040161060190614353565b6000612e776121e5565b6001600160a01b03166357ad46636008546040518263ffffffff1660e01b8152600401612ea49190614121565b60206040518083038186803b158015612ebc57600080fd5b505afa158015612ed0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ef491908101906134dc565b6040517f9dc29fac0000000000000000000000000000000000000000000000000000000081529091506001600160a01b03821690639dc29fac90612f529073feefeefeefeefeefeefeefeefeefeefeefeefeef90879060040161407c565b600060405180830381600087803b158015612f6c57600080fd5b505af1158015612f80573d6000803e3d6000fd5b50506040517f867904b40000000000000000000000000000000000000000000000000000000081526001600160a01b038416925063867904b4915061282b908790879060040161407c565b6000818160015b6002811015612e27576000613006612fe983611ee9565b60040154612ff684611ee9565b600301549063ffffffff611f1316565b9050801561309b57600084821061301d578461301f565b815b905061303e8161302e85611ee9565b600401549063ffffffff6120b116565b61304784611ee9565b6004015561305b858263ffffffff611f1316565b945061306d848263ffffffff6120b116565b9350846130815783955050505050506105dd565b8215801561308f5750600085115b1561309957600094505b505b5060001901612fd2565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef14156130e35760405162461bcd60e51b815260040161060190614353565b6301dfe2006130f061328d565b6001600160a01b0316631bb47b448585846040518463ffffffff1660e01b815260040161282b93929190614097565b6002546040516001600160a01b039091169063907dff979061314990869086908690602001614097565b604051602081830303815290604052600160405161316690613fa0565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1682526131ad9392916000908190819060040161416b565b600060405180830381600087803b1580156131c757600080fd5b505af11580156131db573d6000803e3d6000fd5b50505050505050565b6000826131f357506000610728565b8282028284828161320057fe5b04146120aa5760405162461bcd60e51b815260040161060190614313565b6000806132448461323887600a870263ffffffff6131e416565b9063ffffffff6132b816565b90506005600a825b061061325657600a015b600a9004949350505050565b600080600a8304613279868663ffffffff6131e416565b8161328057fe5b0490506005600a8261324c565b60006108427f526577617264457363726f775632000000000000000000000000000000000000612b5c565b60008082116132d95760405162461bcd60e51b815260040161060190614293565b60008284816132e457fe5b04949350505050565b60405180604001604052806002905b613304613375565b8152602001906001900390816132fc5790505090565b6040518060e00160405280600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600081526020016000815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b8035610728816144fa565b8051610728816144fa565b805161072881614511565b80516107288161451a565b805161072881614523565b80356107288161451a565b6000602082840312156133e757600080fd5b60006133f38484613393565b949350505050565b60006020828403121561340d57600080fd5b60006133f3848461339e565b6000806040838503121561342c57600080fd5b60006134388585613393565b9250506020613449858286016133ca565b9150509250929050565b60008060006060848603121561346857600080fd5b60006134748686613393565b9350506020613485868287016133ca565b9250506040613496868287016133ca565b9150509250925092565b6000602082840312156134b257600080fd5b60006133f384846133a9565b6000602082840312156134d057600080fd5b60006133f384846133b4565b6000602082840312156134ee57600080fd5b60006133f384846133bf565b60006020828403121561350c57600080fd5b60006133f384846133ca565b6000806040838503121561352b57600080fd5b600061353785856133b4565b9250506020613449858286016133a9565b6000806040838503121561355b57600080fd5b600061356785856133b4565b9250506020613449858286016133b4565b600080600080600080600080610100898b03121561359557600080fd5b60006135a18b8b6133ca565b98505060206135b28b828c016133ca565b97505060406135c38b828c016133ca565b96505060606135d48b828c016133ca565b95505060806135e58b828c016133ca565b94505060a06135f68b828c016133ca565b93505060c06136078b828c016133ca565b92505060e06136188b828c016133ca565b9150509295985092959890939650565b6000613634838361371e565b505060400190565b60006136488383613773565b505060200190565b6136598161447a565b82525050565b61365981614440565b61365961367482614440565b6144d9565b6136828161442d565b61368c81846105dd565b925061369782610845565b8060005b83811015612d4b5781516136af8782613628565b96506136ba83614427565b92505060010161369b565b60006136d082614433565b6136da8185614437565b93506136e583614427565b8060005b838110156137135781516136fd888261363c565b975061370883614427565b9250506001016136e9565b509495945050505050565b6137278161442d565b61373181846105dd565b925061373c82610845565b8060005b83811015612d4b578151613754878261363c565b965061375f83614427565b925050600101613740565b6136598161444b565b61365981610845565b61365961378882610845565b610845565b600061379882614433565b6137a28185614437565b93506137b28185602086016144a9565b6137bb816144ea565b9093019392505050565b61365981614450565b61365981614485565b61365981614493565b60006137ed602083614437565b7f49737375657220616e64205065726946696e616e63655374617465206f6e6c79815260200192915050565b6000613826601783614437565b7f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000815260200192915050565b600061385f603583614437565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b60006138be601d83614437565b7f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000815260200192915050565b60006138f7601383614437565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b60006139306024836105dd565b7f46656573436c61696d656428616464726573732c75696e743235362c75696e7481527f3235362900000000000000000000000000000000000000000000000000000000602082015260240192915050565b600061398f6037836105dd565b7f49737375616e636544656274526174696f456e74727928616464726573732c7581527f696e743235362c75696e743235362c75696e7432353629000000000000000000602082015260370192915050565b60006139ee601b83614437565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613a27601e83614437565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613a60601a83614437565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613a99604083614437565b7f4e6f2066656573206f72207265776172647320617661696c61626c6520666f7281527f20706572696f642c206f72206665657320616c726561647920636c61696d6564602082015260400192915050565b6000613af86011836105dd565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b6000613b31601883614437565b7f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815260200192915050565b6000613b6a601f83614437565b7f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600815260200192915050565b6000613ba3601e83614437565b7f43616c6c6572206973206e6f742072657761726473417574686f726974790000815260200192915050565b6000613bdc602f83614437565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b6000613c3b601f83614437565b7f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400815260200192915050565b6000613c74601f83614437565b7f412070796e7468206f722050455249207261746520697320696e76616c696400815260200192915050565b6000613cad602183614437565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000613d0c601683614437565b7f43616e6e6f7420696d706f727420626164206461746100000000000000000000815260200192915050565b6000613d45601d83614437565b7f4578636565647320746865204645455f504552494f445f4c454e475448000000815260200192915050565b6000613d7e602983614437565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b6000613ddd6019836105dd565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613e16601783614437565b7f4665652061646472657373206e6f7420616c6c6f776564000000000000000000815260200192915050565b6000613e4f6018836105dd565b7f466565506572696f64436c6f7365642875696e74323536290000000000000000815260180192915050565b6000613e88601783614437565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000613ec1602083614437565b7f43757272656e7420706572696f64206973206e6f7420636c6f73656420796574815260200192915050565b6000613efa601b83614437565b7f46656520506572696f64204475726174696f6e206e6f74207365740000000000815260200192915050565b6000613f33602083614437565b7f546f6c6572616e63652076616c75652063616e6e6f7420657863656564732031815260200192915050565b6136598161449e565b61365981614467565b61365981614474565b6000613f86828561377c565b602082019150613f968284613668565b5060140192915050565b600061072882613923565b600061072882613982565b6000613fc182613aeb565b9150613fcd828461377c565b50602001919050565b6000613fc182613dd0565b600061072882613e42565b60208101610728828461365f565b602081016107288284613650565b60408101614016828561365f565b6120aa602083018461365f565b60408101614031828561365f565b6120aa60208301846137d7565b6080810161404c828761365f565b61405960208301866137d7565b61406660408301856137d7565b614073606083018461376a565b95945050505050565b6040810161408a828561365f565b6120aa6020830184613773565b606081016140a5828661365f565b6140b26020830185613773565b6133f36040830184613773565b608081016140cd828761365f565b6140da6020830186613773565b6140e76040830185613773565b6140736060830184613f5f565b608081016107288284613679565b602080825281016120aa81846136c5565b60208101610728828461376a565b602081016107288284613773565b604081016140168285613773565b6040810161408a8285613773565b604081016141598285613773565b81810360208301526133f3818461378d565b60c0808252810161417c818961378d565b905061418b60208301886137d7565b6141986040830187613773565b6141a560608301866137ce565b6141b260808301856137ce565b6141bf60a08301846137ce565b979650505050505050565b60c080825281016141db818961378d565b90506141ea60208301886137d7565b6141f76040830187613773565b6141a56060830186613773565b6020810161072882846137c5565b602080825281016120aa818461378d565b602080825281016105da816137e0565b602080825281016105da81613819565b602080825281016105da81613852565b602080825281016105da816138b1565b602080825281016105da816138ea565b602080825281016105da816139e1565b602080825281016105da81613a1a565b602080825281016105da81613a53565b602080825281016105da81613a8c565b602080825281016105da81613b24565b602080825281016105da81613b5d565b602080825281016105da81613b96565b602080825281016105da81613bcf565b602080825281016105da81613c2e565b602080825281016105da81613c67565b602080825281016105da81613ca0565b602080825281016105da81613cff565b602080825281016105da81613d38565b602080825281016105da81613d71565b602080825281016105da81613e09565b602080825281016105da81613e7b565b602080825281016105da81613eb4565b602080825281016105da81613eed565b602080825281016105da81613f26565b606081016140a58286613773565b60e081016143bf828a613f68565b6143cc6020830189613f68565b6143d96040830188613f68565b6143e66060830187613773565b6143f36080830186613773565b61440060a0830185613773565b61440d60c0830184613773565b98975050505050505050565b602081016107288284613f71565b60200190565b50600290565b5190565b90815260200190565b60006105da8261445b565b151590565b60006105da82614440565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b60006105da82614450565b60006105da61378883610845565b60006105da82610845565b60006105da82614467565b60005b838110156144c45781810151838201526020016144ac565b838111156144d3576000848401525b50505050565b60006105da8260006105da826144f4565b601f01601f191690565b60601b90565b61450381614440565b811461450e57600080fd5b50565b6145038161444b565b61450381610845565b6145038161445056fea365627a7a72315820911c96eb768d2f8901612bafa7a8f96fe47676a13552387d30fcbb92f1fdc3616c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						}
					],
					"name": "FeePeriodClosed",
					"type": "event",
					"signature": "0xe2ca356e01eb0a4bb7caaf07d472b7d687db156713ffc3111c758e9fe0a17ea7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "pUSDAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periRewards",
							"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"
				},
				{
					"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": 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": [],
					"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": "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": 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": 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": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"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": [],
					"name": "quotaTolerance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x446530d1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"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": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"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": "uint256",
							"name": "_val",
							"type": "uint256"
						}
					],
					"name": "setQuotaTolerance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8844578a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setRewardsToDistribute",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfd1f498d"
				},
				{
					"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": 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"
				}
			],
			"source": {
				"keccak256": "0xfe97d7ab278e213f8fe1d24109ac33460efd46d9457cff8a9a5e08b495598660",
				"urls": [
					"bzz-raw://d9bc8f0413f8f398f572f6adaac63f8f615744ac27dc8c3a35c01edc7c286177",
					"dweb:/ipfs/Qmec2Sm6vq6xqPJuhYqtey8NruR29ATyLf8B1MFaoo2xRH"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePool.sol": "FeePool"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1500
					},
					"remappings": []
				},
				"sources": {
					"FeePool.sol": {
						"keccak256": "0xfe97d7ab278e213f8fe1d24109ac33460efd46d9457cff8a9a5e08b495598660",
						"urls": [
							"bzz-raw://d9bc8f0413f8f398f572f6adaac63f8f615744ac27dc8c3a35c01edc7c286177",
							"dweb:/ipfs/Qmec2Sm6vq6xqPJuhYqtey8NruR29ATyLf8B1MFaoo2xRH"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610c75380380610c758339818101604052604081101561003357600080fd5b50805160209091015162375f00826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b0319166001600160a01b039290921691909117905550610b4b8061012a6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637de655451161008c578063ae2e933b11610066578063ae2e933b146102b5578063b326f84e146102bd578063cff2ddad146102e9578063d29c000a14610307576100cf565b80637de65545146102305780638da5cb5b1461027557806394e1a4481461027d576100cf565b80631627540c146100d457806319db2228146100fc57806339a3f63f1461012257806346ba2d90146101ea57806353a47bb71461020457806379ba509714610228575b600080fd5b6100fa600480360360208110156100ea57600080fd5b50356001600160a01b0316610333565b005b6100fa6004803603602081101561011257600080fd5b50356001600160a01b031661038f565b6100fa6004803603608081101561013857600080fd5b81019060208101813564010000000081111561015357600080fd5b82018360208201111561016557600080fd5b8035906020019184602083028401116401000000008311171561018757600080fd5b9193909290916020810190356401000000008111156101a557600080fd5b8201836020820111156101b757600080fd5b803590602001918460208302840111640100000000831117156101d957600080fd5b9193509150803590602001356103b9565b6101f2610593565b60408051918252519081900360200190f35b61020c610599565b604080516001600160a01b039092168252519081900360200190f35b6100fa6105a8565b61025c6004803603604081101561024657600080fd5b506001600160a01b038135169060200135610664565b6040805192835260208301919091528051918290030190f35b61020c610691565b6100fa6004803603608081101561029357600080fd5b506001600160a01b0381351690602081013590604081013590606001356106a0565b61020c610739565b61025c600480360360408110156102d357600080fd5b506001600160a01b038135169060200135610748565b6102f16107e9565b6040805160ff9092168252519081900360200190f35b61025c6004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356107ee565b61033b6108d1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6103976108d1565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6103c16108d1565b60025442106104015760405162461bcd60e51b8152600401808060200182810382526029815260200180610aee6029913960400191505060405180910390fd5b848314610447576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b8581101561058a5784848281811061045e57fe5b905060200201356004600089898581811061047557fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002084600681106104b057fe5b600202015581600460008989858181106104c657fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020846006811061050157fe5b600202016001018190555086868281811061051857fe5b905060200201356001600160a01b03166001600160a01b03167f3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea86868481811061055e57fe5b9050602002013584604051808381526020018281526020019250505060405180910390a260010161044a565b50505050505050565b60025481565b6001546001600160a01b031681565b6001546001600160a01b031633146105f15760405162461bcd60e51b8152600401808060200182810382526035815260200180610a366035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6004602052816000526040600020816006811061067d57fe5b600202018054600190910154909250905082565b6000546001600160a01b031681565b6003546001600160a01b031633146106e95760405162461bcd60e51b8152600401808060200182810382526031815260200180610a8e6031913960400191505060405180910390fd5b6001600160a01b038416600090815260046020526040902060010154811115610715576107158461091c565b506001600160a01b0392909216600090815260046020526040902090815560010155565b6003546001600160a01b031681565b6000806006831061078a5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a6b6023913960400191505060405180910390fd5b6001600160a01b038416600090815260046020526040902083600681106107ad57fe5b60020201546001600160a01b038516600090815260046020526040902090925083600681106107d857fe5b600202016001015490509250929050565b600681565b6000806107f96109ee565b6001600160a01b038516600090815260046020526040808220815160c081019092529091600690835b8282101561085e578382600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190610822565b509293506000925050505b60068110156108c75781816006811061087e57fe5b60200201516020015185106108bf5781816006811061089957fe5b6020020151518282600681106108ab57fe5b6020020151602001519350935050506108ca565b600101610869565b50505b9250929050565b6000546001600160a01b0316331461091a5760405162461bcd60e51b815260040180806020018281038252602f815260200180610abf602f913960400191505060405180910390fd5b565b60045b60068110156109ea576001600160a01b03821660009081526004602052604090206001820190826006811061095057fe5b60020201546001600160a01b0384166000908152600460205260409020826006811061097857fe5b60020201556001600160a01b038316600090815260046020526040902082600681106109a057fe5b600202016001015460046000856001600160a01b03166001600160a01b0316815260200190815260200160002082600681106109d857fe5b6002020160010155506000190161091f565b5050565b6040518060c001604052806006905b610a05610a1b565b8152602001906001900390816109fd5790505090565b60405180604001604052806000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970696e646578206578636565647320746865204645455f504552494f445f4c454e4754484f6e6c792074686520466565506f6f6c20636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a7231582016280a08ce22927ea4a4a01feaa0b810e269d7093438a327869c9143d145e6b164736f6c63430005100032",
			"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"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": [
						{
							"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 IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19db2228"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				}
			],
			"source": {
				"keccak256": "0xe68b4df7244b32f4e6831f5ac28252f8d535ecac4d6b462a4d055c2098a2d081",
				"urls": [
					"bzz-raw://109550c8efd479848866d2f2f3c3f09d64587aa3b2a912667101de122be777eb",
					"dweb:/ipfs/QmWqvWZv2VX7KiG9HoEiFMoFtTzZrqNVGzDGnJvj9HWr56"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolState.sol": "FeePoolState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FeePoolState.sol": {
						"keccak256": "0xe68b4df7244b32f4e6831f5ac28252f8d535ecac4d6b462a4d055c2098a2d081",
						"urls": [
							"bzz-raw://109550c8efd479848866d2f2f3c3f09d64587aa3b2a912667101de122be777eb",
							"dweb:/ipfs/QmWqvWZv2VX7KiG9HoEiFMoFtTzZrqNVGzDGnJvj9HWr56"
						]
					}
				},
				"version": 1
			}
		},
		"RewardsDistribution": {
			"bytecode": "608060405234801561001057600080fd5b5060405161129b38038061129b833981810160405260a081101561003357600080fd5b50805160208201516040830151606084015160809094015192939192909190846001600160a01b0381166100ae576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039586166001600160a01b031991821617909155600380549486169482169490941790935560048054928516928416929092179091556005805491909316911617905550611136806101656000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063817a6951116100a2578063c1b7ca1111610071578063c1b7ca11146102a7578063c9e9cc4d146102cd578063d12a701d146102d5578063d8297e44146102dd578063e54c16711461030357610116565b8063817a6951146102725780638da5cb5b1461028f578063a430be6c14610297578063bf7e214f1461029f57610116565b806359974e38116100e957806359974e38146101c15780635de39934146101f257806360eb3ff21461021857806379ba5097146102445780637a9e5e4b1461024c57610116565b8063060ca2501461011b5780631627540c146101355780634487d3df1461015d57806353a47bb71461019d575b600080fd5b610123610335565b60408051918252519081900360200190f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b031661033c565b005b61017a6004803603602081101561017357600080fd5b5035610398565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6101a56103cd565b604080516001600160a01b039092168252519081900360200190f35b6101de600480360360208110156101d757600080fd5b50356103dc565b604080519115158252519081900360200190f35b61015b6004803603602081101561020857600080fd5b50356001600160a01b0316610a2f565b6101de6004803603604081101561022e57600080fd5b506001600160a01b038135169060200135610a59565b61015b610bfc565b61015b6004803603602081101561026257600080fd5b50356001600160a01b0316610cb8565b61015b6004803603602081101561028857600080fd5b5035610ce2565b6101a5610dcd565b6101a5610ddc565b6101a5610deb565b61015b600480360360208110156102bd57600080fd5b50356001600160a01b0316610dfa565b6101a5610e24565b6101a5610e33565b61015b600480360360208110156102f357600080fd5b50356001600160a01b0316610e42565b6101de6004803603606081101561031957600080fd5b508035906001600160a01b036020820135169060400135610e6c565b6006545b90565b610344610f38565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600681815481106103a557fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6001546001600160a01b031681565b600080821161042a576040805162461bcd60e51b81526020600482015260156024820152744e6f7468696e6720746f206469737472696275746560581b604482015290519081900360640190fd5b6002546001600160a01b03163314610489576040805162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015290519081900360640190fd5b6004546001600160a01b03166104e6576040805162461bcd60e51b815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b6003546001600160a01b0316610543576040805162461bcd60e51b815260206004820152601b60248201527f5065726946696e616e636550726f7879206973206e6f74207365740000000000604482015290519081900360640190fd5b6005546001600160a01b03166105a0576040805162461bcd60e51b815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b600354604080516370a0823160e01b8152306004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156105ea57600080fd5b505afa1580156105fe573d6000803e3d6000fd5b505050506040513d602081101561061457600080fd5b505110156106535760405162461bcd60e51b815260040180806020018281038252604681526020018061108d6046913960600191505060405180910390fd5b8160005b6006548110156109065760006001600160a01b03166006828154811061067957fe5b60009182526020909120600290910201546001600160a01b03161415806106bf5750600681815481106106a857fe5b906000526020600020906002020160010154600014155b156108fe576106f5600682815481106106d457fe5b90600052602060002090600202016001015483610f8390919063ffffffff16565b600354600680549294506001600160a01b039091169163a9059cbb91908490811061071c57fe5b6000918252602090912060029091020154600680546001600160a01b03909216918590811061074757fe5b9060005260206000209060020201600101546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505050506040513d60208110156107d257600080fd5b50506006805460609190839081106107e657fe5b60009182526020808320600160029093020191909101546040805160248082019390935281518082039093018352604401905290810180516001600160e01b0316633c6b16ab60e01b17905260068054919350908490811061084457fe5b60009182526020918290206002909102015460405184516001600160a01b0390921692859282918401908083835b602083106108915780518252601f199092019160209182019101610872565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b50505050505b600101610657565b50600354600480546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018590525192169163a9059cbb916044808201926020929091908290030181600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b505050506040513d602081101561098b57600080fd5b50506005546040805163fd1f498d60e01b81526004810184905290516001600160a01b039092169163fd1f498d9160248082019260009290919082900301818387803b1580156109da57600080fd5b505af11580156109ee573d6000803e3d6000fd5b50506040805186815290517f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429350908190036020019150a150600192915050565b610a37610f38565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a63610f38565b6001600160a01b038316610abe576040805162461bcd60e51b815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b81610b09576040805162461bcd60e51b815260206004820152601660248201527510d85b9d081859190818481e995c9bc8185b5bdd5b9d60521b604482015290519081900360640190fd5b610b11610fe0565b506040805180820182526001600160a01b03858116808352602080840187815260068054600181018255600082905286517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290920291820180546001600160a01b031916919097161790955590517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909401939093559154845160001991909101815291820152808301859052915190917f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208916060918190039190910190a15060019392505050565b6001546001600160a01b03163314610c455760405162461bcd60e51b81526004018080602001828103825260358152602001806110586035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610cc0610f38565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610cea610f38565b60065460001901811115610d3b576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b805b60065460001901811015610db55760068160010181548110610d5b57fe5b906000526020600020906002020160068281548110610d7657fe5b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b039092169190911781556001918201549082015501610d3d565b506006805490610dc9906000198301610ff7565b5050565b6000546001600160a01b031681565b6004546001600160a01b031681565b6002546001600160a01b031681565b610e02610f38565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031681565b6003546001600160a01b031681565b610e4a610f38565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610e76610f38565b60065460001901841115610ec7576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b8260068581548110610ed557fe5b906000526020600020906002020160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160068581548110610f1857fe5b906000526020600020906002020160010181905550600190509392505050565b6000546001600160a01b03163314610f815760405162461bcd60e51b815260040180806020018281038252602f8152602001806110d3602f913960400191505060405180910390fd5b565b600082821115610fda576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080518082019091526000808252602082015290565b815481835581811115611023576002028160020283600052602060002091820191016110239190611028565b505050565b61033991905b808211156110535780546001600160a01b03191681556000600182015560020161102e565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052657761726473446973747269627574696f6e20636f6e747261637420646f6573206e6f74206861766520656e6f75676820746f6b656e7320746f20646973747269627574654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820b020195470ca1ee74231d78b9e6afef8778b9bad28aa36d0bfdc1d93949c128964736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_periFinanceProxy",
							"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": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinanceProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd12a701d"
				},
				{
					"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": "_periFinanceProxy",
							"type": "address"
						}
					],
					"name": "setPeriFinanceProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc1b7ca11"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						}
					],
					"name": "setRewardEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5de39934"
				}
			],
			"source": {
				"keccak256": "0x8f661c3cad74e0f144605c4b85d19bd1e205c7d414423583ccce8e0fa987c28f",
				"urls": [
					"bzz-raw://356efcc0c0fff79825a004003ec0ef3e3ca0361d961adc9d10c34130b12f9346",
					"dweb:/ipfs/QmZmPTRnyCTfuhsCjDpNE44nbjRymg9idQXVf9x364KswQ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardsDistribution.sol": "RewardsDistribution"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardsDistribution.sol": {
						"keccak256": "0x8f661c3cad74e0f144605c4b85d19bd1e205c7d414423583ccce8e0fa987c28f",
						"urls": [
							"bzz-raw://356efcc0c0fff79825a004003ec0ef3e3ca0361d961adc9d10c34130b12f9346",
							"dweb:/ipfs/QmZmPTRnyCTfuhsCjDpNE44nbjRymg9idQXVf9x364KswQ"
						]
					}
				},
				"version": 1
			}
		},
		"ProxyERC20": {
			"bytecode": "608060405234801561001057600080fd5b50604051610f7f380380610f7f8339818101604052602081101561003357600080fd5b505180806001600160a01b038116610092576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505050610e83806100fc6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b4114610473578063a9059cbb14610488578063d4b83992146104c1578063dd62ed3e146104d6576100f3565b8063776d1a011461038157806379ba5097146103b45780638da5cb5b146103c9578063907dff97146103de576100f3565b806323b872dd116100c657806323b872dd146102af578063313ce567146102f257806353a47bb71461031d57806370a082311461034e576100f3565b806306fdde031461017c578063095ea7b3146102065780631627540c1461025357806318160ddd14610288575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e80610178573d82fd5b3d82f35b34801561018857600080fd5b50610191610511565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021257600080fd5b5061023f6004803603604081101561022957600080fd5b506001600160a01b038135169060200135610648565b604080519115158252519081900360200190f35b34801561025f57600080fd5b506102866004803603602081101561027657600080fd5b50356001600160a01b0316610736565b005b34801561029457600080fd5b5061029d610792565b60408051918252519081900360200190f35b3480156102bb57600080fd5b5061023f600480360360608110156102d257600080fd5b506001600160a01b03813581169160208101359091169060400135610808565b3480156102fe57600080fd5b506103076108ff565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b50610332610944565b604080516001600160a01b039092168252519081900360200190f35b34801561035a57600080fd5b5061029d6004803603602081101561037157600080fd5b50356001600160a01b0316610953565b34801561038d57600080fd5b50610286600480360360208110156103a457600080fd5b50356001600160a01b03166109d6565b3480156103c057600080fd5b50610286610a32565b3480156103d557600080fd5b50610332610aee565b3480156103ea57600080fd5b50610286600480360360c081101561040157600080fd5b81019060208101813564010000000081111561041c57600080fd5b82018360208201111561042e57600080fd5b8035906020019184600183028401116401000000008311171561045057600080fd5b919350915080359060208101359060408101359060608101359060800135610afd565b34801561047f57600080fd5b50610191610c06565b34801561049457600080fd5b5061023f600480360360408110156104ab57600080fd5b506001600160a01b038135169060200135610c4b565b3480156104cd57600080fd5b50610332610d04565b3480156104e257600080fd5b5061029d600480360360408110156104f957600080fd5b506001600160a01b0381358116916020013516610d13565b600254604080516306fdde0360e01b815290516060926001600160a01b0316916306fdde03916004808301926000929190829003018186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561059357600080fd5b81019080805160405193929190846401000000008211156105b357600080fd5b9083019060208201858111156105c857600080fd5b82516401000000008111828201881017156105e257600080fd5b82525081516020918201929091019080838360005b8381101561060f5781810151838201526020016105f7565b50505050905090810190601f16801561063c5780820380516001836020036101000a031916815260200191505b50604052505050905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506002546040805163095ea7b360e01b81526001600160a01b03888116600483015260248201889052915191909216935063095ea7b3925060448083019260209291908290030181600087803b15801561070157600080fd5b505af1158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b506001949350505050565b61073e610d9f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d602081101561080157600080fd5b5051905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b5050600254604080516323b872dd60e01b81526001600160a01b03898116600483015288811660248301526044820188905291519190921693506323b872dd925060648083019260209291908290030181600087803b1580156108c957600080fd5b505af11580156108dd573d6000803e3d6000fd5b505050506040513d60208110156108f357600080fd5b50600195945050505050565b6002546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b1580156107d757600080fd5b6001546001600160a01b031681565b600254604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109a457600080fd5b505afa1580156109b8573d6000803e3d6000fd5b505050506040513d60208110156109ce57600080fd5b505192915050565b6109de610d9f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b03163314610a7b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610deb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610b53576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610bbd5760018114610bc85760028114610bd45760038114610be15760048114610bef57610bfa565b8260208301a0610bfa565b868360208401a1610bfa565b85878460208501a2610bfa565b8486888560208601a3610bfa565b838587898660208701a45b50505050505050505050565b600254604080516395d89b4160e01b815290516060926001600160a01b0316916395d89b41916004808301926000929190829003018186803b15801561055657600080fd5b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b50506002546040805163a9059cbb60e01b81526001600160a01b03888116600483015260248201889052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561070157600080fd5b6002546001600160a01b031681565b60025460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610d6c57600080fd5b505afa158015610d80573d6000803e3d6000fd5b505050506040513d6020811015610d9657600080fd5b50519392505050565b6000546001600160a01b03163314610de85760405162461bcd60e51b815260040180806020018281038252602f815260200180610e20602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a7231582014234bdf23a9e13be01dabfcb4244b77b06c8e6fb6cd8c7388bd4ac9360ce31364736f6c63430005100032",
			"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"
				}
			],
			"source": {
				"keccak256": "0xccd3c45b0f87c6bb391c4e641f009258cdf06815f81dfa699e708039e6095ac0",
				"urls": [
					"bzz-raw://349ee2c4b397a2b5aef670a75a482e46b7ddec739054f0bd3e1c9bcb844abdbb",
					"dweb:/ipfs/QmUqTLiN62twxomqpxtWPFAz1yomv1q54wGcqiZdQ8ZxET"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ProxyERC20.sol": "ProxyERC20"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ProxyERC20.sol": {
						"keccak256": "0xccd3c45b0f87c6bb391c4e641f009258cdf06815f81dfa699e708039e6095ac0",
						"urls": [
							"bzz-raw://349ee2c4b397a2b5aef670a75a482e46b7ddec739054f0bd3e1c9bcb844abdbb",
							"dweb:/ipfs/QmUqTLiN62twxomqpxtWPFAz1yomv1q54wGcqiZdQ8ZxET"
						]
					}
				},
				"version": 1
			}
		},
		"TokenState": {
			"bytecode": "608060405234801561001057600080fd5b5060405161075d38038061075d8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506105b7806101a66000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b80631627540c146100a357806352f445ca146100cb57806353a47bb7146100f157806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100c9600480360360208110156100e157600080fd5b50356001600160a01b0316610251565b6100f96102ad565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603602081101561012b57600080fd5b50356001600160a01b03166102bc565b60408051918252519081900360200190f35b6100c96102ce565b6100f961038a565b6100f9610399565b6100c96004803603604081101561017b57600080fd5b506001600160a01b0381351690602001356103a8565b6100c9600480360360608110156101a757600080fd5b506001600160a01b0381358116916020810135909116906040013561040d565b61013b600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610482565b6101fd61049f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61025961049f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60036020526000908152604090205481565b6001546001600160a01b031633146103175760405162461bcd60e51b81526004018080602001828103825260358152602001806104eb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146103f15760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146104565760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b031633146104e85760405162461bcd60e51b815260040180806020018281038252602f815260200180610520602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a723158201221a51ad6eb15442bc91d9d3ef6e29387af0541fd53462f6647f8e50dd0fc2264736f6c63430005100032",
			"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"
				}
			],
			"source": {
				"keccak256": "0x3ec4b27cd0fee4d8b4eecda7a7d578008d0b437496a672737f0b82037848bf18",
				"urls": [
					"bzz-raw://a2eca2fc71091ef2dcc90cdd70de084e22abeeab8d61f45c5fa55d3f9acd17fe",
					"dweb:/ipfs/QmcsTkWes1WyHh88R5xUY46fBaNyvGfNvkUxr9WLYejMFu"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TokenState.sol": "TokenState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"TokenState.sol": {
						"keccak256": "0x3ec4b27cd0fee4d8b4eecda7a7d578008d0b437496a672737f0b82037848bf18",
						"urls": [
							"bzz-raw://a2eca2fc71091ef2dcc90cdd70de084e22abeeab8d61f45c5fa55d3f9acd17fe",
							"dweb:/ipfs/QmcsTkWes1WyHh88R5xUY46fBaNyvGfNvkUxr9WLYejMFu"
						]
					}
				},
				"version": 1
			}
		},
		"BlacklistManager": {
			"bytecode": "608060405234801561001057600080fd5b506040516106f63803806106f68339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506105fc806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80637fc42615116100665780637fc42615146101125780638da5cb5b14610138578063a39fac1214610140578063b563545f14610198578063cb2505cf146101b557610093565b80631627540c146100985780632c272456146100c057806353a47bb7146100e657806379ba50971461010a575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b03166101ef565b005b6100be600480360360208110156100d657600080fd5b50356001600160a01b031661024b565b6100ee61029c565b604080516001600160a01b039092168252519081900360200190f35b6100be6102ab565b6100be6004803603602081101561012857600080fd5b50356001600160a01b0316610367565b6100ee61046b565b61014861047a565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561018457818101518382015260200161016c565b505050509050019250505060405180910390f35b6100ee600480360360208110156101ae57600080fd5b50356104dc565b6101db600480360360208110156101cb57600080fd5b50356001600160a01b0316610503565b604080519115158252519081900360200190f35b6101f7610518565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610253610518565b6001600160a01b038116600081815260026020526040808220805460ff19169055517f7534c63860313c46c473e4e98328f37017e9674e2162faf1a3ad7a96236c3b7b9190a250565b6001546001600160a01b031681565b6001546001600160a01b031633146102f45760405162461bcd60e51b81526004018080602001828103825260358152602001806105646035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b61036f610518565b6001600160a01b0381166000908152600260205260408120805460ff19166001179055805b6003548110156103e157826001600160a01b0316600382815481106103b557fe5b6000918252602090912001546001600160a01b031614156103d957600191506103e1565b600101610394565b508061043357600380546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319166001600160a01b0384161790555b6040516001600160a01b038316907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a25050565b6000546001600160a01b031681565b606060038054806020026020016040519081016040528092919081815260200182805480156104d257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104b4575b5050505050905090565b600381815481106104e957fe5b6000918252602090912001546001600160a01b0316905081565b60026020526000908152604090205460ff1681565b6000546001600160a01b031633146105615760405162461bcd60e51b815260040180806020018281038252602f815260200180610599602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158204e8e1daab64ed2b6b2088f16b104c2349ed56734baec0e4d9edf893aae27a00164736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "Blacklisted",
					"type": "event",
					"signature": "0xffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b855"
				},
				{
					"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": "account",
							"type": "address"
						}
					],
					"name": "Unblacklisted",
					"type": "event",
					"signature": "0x7534c63860313c46c473e4e98328f37017e9674e2162faf1a3ad7a96236c3b7b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "flagAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7fc42615"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "flagged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcb2505cf"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getAddresses",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa39fac12"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "listedAddresses",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb563545f"
				},
				{
					"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": "unflagAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2c272456"
				}
			],
			"source": {
				"keccak256": "0x4e30bb11fc1750dcdfec63374918cc10f12477e5b0671f71a368a205e5144fdf",
				"urls": [
					"bzz-raw://1e9b3185033718224e5eaf1c989f5c0e7237461b28cab6dd6cd942714843db6b",
					"dweb:/ipfs/QmbghJMt4uffafvqHbBp4wBiHr5dRBZz1AeTFq3q7BA7iz"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"BlacklistManager.sol": "BlacklistManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"BlacklistManager.sol": {
						"keccak256": "0x4e30bb11fc1750dcdfec63374918cc10f12477e5b0671f71a368a205e5144fdf",
						"urls": [
							"bzz-raw://1e9b3185033718224e5eaf1c989f5c0e7237461b28cab6dd6cd942714843db6b",
							"dweb:/ipfs/QmbghJMt4uffafvqHbBp4wBiHr5dRBZz1AeTFq3q7BA7iz"
						]
					}
				},
				"version": 1
			}
		},
		"DebtCache": {
			"bytecode": "60806040526007805460ff1916600117905534801561001d57600080fd5b506040516125e03803806125e08339818101604052604081101561004057600080fd5b50805160209091015181818080836001600160a01b0381166100a9576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b031990921691909117905550505050506124a9806101376000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80638da5cb5b116100c3578063dae3de981161007c578063dae3de98146103dd578063e3476cd41461044b578063f7cc999f14610453578063fa9f18d314610470578063fc524773146104de578063fca28f74146104e657610158565b80638da5cb5b146102e25780639f98fb49146102ea578063a5f27edb146103a8578063af5355d8146103b0578063d0fffafd146103b8578063d6576c84146103c057610158565b806353a47bb71161011557806353a47bb71461022e5780637418536014610236578063759076e51461023e57806379ba50971461025f5780638376a78214610267578063899ffef41461028a57610158565b806304bd11e51461015d57806304f3bcec1461017e57806305393262146101a25780631627540c146101bc5780632af64bd3146101e25780633a900a2e146101fe575b600080fd5b61017c6004803603602081101561017357600080fd5b503515156105b3565b005b6101866105c7565b604080516001600160a01b039092168252519081900360200190f35b6101aa6105d6565b60408051918252519081900360200190f35b61017c600480360360208110156101d257600080fd5b50356001600160a01b03166105dd565b6101ea610639565b604080519115158252519081900360200190f35b610206610743565b6040805194855260208501939093529015158383015215156060830152519081900360800190f35b610186610774565b61017c610783565b61024661094b565b6040805192835290151560208301528051918290030190f35b61017c61095e565b61017c6004803603604081101561027d57600080fd5b5080359060200135610a1a565b610292610aad565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102ce5781810151838201526020016102b6565b505050509050019250505060405180910390f35b610186610c17565b61017c6004803603604081101561030057600080fd5b810190602081018135600160201b81111561031a57600080fd5b82018360208201111561032c57600080fd5b803590602001918460208302840111600160201b8311171561034d57600080fd5b919390929091602081019035600160201b81111561036a57600080fd5b82018360208201111561037c57600080fd5b803590602001918460208302840111600160201b8311171561039d57600080fd5b509092509050610c26565b6101ea610c9b565b6101aa610ca4565b6101aa610cb3565b61017c600480360360208110156103d657600080fd5b5035610cb9565b610292600480360360208110156103f357600080fd5b810190602081018135600160201b81111561040d57600080fd5b82018360208201111561041f57600080fd5b803590602001918460208302840111600160201b8311171561044057600080fd5b509092509050610d95565b61017c610ddc565b6101aa6004803603602081101561046957600080fd5b503561106f565b61017c6004803603602081101561048657600080fd5b810190602081018135600160201b8111156104a057600080fd5b8201836020820111156104b257600080fd5b803590602001918460208302840111600160201b831117156104d357600080fd5b509092509050611081565b6101ea611216565b610554600480360360208110156104fc57600080fd5b810190602081018135600160201b81111561051657600080fd5b82018360208201111561052857600080fd5b803590602001918460208302840111600160201b8311171561054957600080fd5b509092509050611223565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b8381101561059e578181015183820152602001610586565b50505050905001935050505060405180910390f35b6105bb61126e565b6105c4816112d4565b50565b6002546001600160a01b031681565b6004545b90565b6105e5611321565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006060610645610aad565b905060005b815181101561073a57600082828151811061066157fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156106c957600080fd5b505afa1580156106dd573d6000803e3d6000fd5b505050506040513d60208110156106f357600080fd5b50516001600160a01b031614158061072057506000818152600360205260409020546001600160a01b0316155b1561073157600093505050506105da565b5060010161064a565b50600191505090565b6006546004546007546000928392839283929190829060ff166107658261136a565b94509450945094505090919293565b6001546001600160a01b031681565b606061078d610aad565b905060005b81518110156109475760008282815181106107a957fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561085f578181015183820152602001610847565b50505050905090810190601f16801561088c5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156108aa57600080fd5b505afa1580156108be573d6000803e3d6000fd5b505050506040513d60208110156108d457600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610792565b5050565b600080610956611383565b915091509091565b6001546001600160a01b031633146109a75760405162461bcd60e51b81526004018080602001828103825260358152602001806123cf6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610a2261126e565b604080516001808252818301909252606091602080830190803883390190505090508281600081518110610a5257fe5b60209081029190910101526040805160018082528183019092526060918160200160208202803883390190505090508281600081518110610a8f57fe5b602002602001018181525050610aa782826000611581565b50505050565b606080610ab8611736565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506524b9b9bab2b960d11b81600081518110610af757fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610b1d57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610b4757fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610b7057fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b81600481518110610b9c57fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1c1554d1606a1b81600581518110610bcc57fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600681518110610bfa57fe5b602002602001018181525050610c108282611787565b9250505090565b6000546001600160a01b031681565b610c2e611843565b610aa78484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201829052509250611581915050565b60075460ff1690565b6000610cae6118bd565b905090565b60065490565b610cc1611321565b6000610ccb61196c565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d0e57600080fd5b505afa158015610d22573d6000803e3d6000fd5b505050506040513d6020811015610d3857600080fd5b50516001600160a01b031614610d84576040805162461bcd60e51b815260206004820152600c60248201526b50796e74682065786973747360a01b604482015290519081900360640190fd5b600090815260056020526040812055565b6060610dd383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061198092505050565b90505b92915050565b610de4611a10565b6060610dee61196c565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015610e2657600080fd5b505afa158015610e3a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610e6357600080fd5b8101908080516040519392919084600160201b821115610e8257600080fd5b908301906020820185811115610e9757600080fd5b82518660208202830111600160201b82111715610eb357600080fd5b82525081516020918201928201910280838360005b83811015610ee0578181015183820152602001610ec8565b50505050905001604052505050905060606000610efc83611a76565b915091506000610f0a611bef565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b158015610f4157600080fd5b505afa158015610f55573d6000803e3d6000fd5b505050506040513d6040811015610f6b57600080fd5b505183519091506000805b82811015610fe0576000868281518110610f8c57fe5b60200260200101519050610fa98184611c0e90919063ffffffff16565b925080600560008a8581518110610fbc57fe5b60209081029190910181015182528101919091526040016000205550600101610f76565b50610ff1818463ffffffff611c6816565b600455426006556040805182815290517f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5999181900360200190a16040805142815290517fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f9181900360200190a1611067846112d4565b505050505050565b60009081526005602052604090205490565b611089611a10565b60606000611095611cc5565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561110757600080fd5b505afa15801561111b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561114457600080fd5b8101908080516040519392919084600160201b82111561116357600080fd5b90830190602082018581111561117857600080fd5b82518660208202830111600160201b8211171561119457600080fd5b82525081516020918201928201910280838360005b838110156111c15781810151838201526020016111a9565b505050509190910160408181526020938401518a850280840186019092528a8352969850959650610aa79590945089935088928392508501908490808284376000920191909152508692508591506115819050565b6000610cae60065461136a565b60606000611263848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611a7692505050565b915091509250929050565b61127661196c565b6001600160a01b0316336001600160a01b0316146112d2576040805162461bcd60e51b815260206004820152601460248201527329b2b73232b91034b9903737ba1024b9b9bab2b960611b604482015290519081900360640190fd5b565b60075460ff161515811515146105c4576007805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6000546001600160a01b031633146112d25760405162461bcd60e51b815260040180806020018281038252602f815260200180612425602f913960400191505060405180910390fd5b60008142036113776118bd565b1080610dd65750501590565b6000806060600061149961139561196c565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156113cd57600080fd5b505afa1580156113e1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561140a57600080fd5b8101908080516040519392919084600160201b82111561142957600080fd5b90830190602082018581111561143e57600080fd5b82518660208202830111600160201b8211171561145a57600080fd5b82525081516020918201928201910280838360005b8381101561148757818101518382015260200161146f565b50505050905001604052505050611a76565b815191935091506000805b828110156114dc576114d28582815181106114bb57fe5b602002602001015183611c0e90919063ffffffff16565b91506001016114a4565b506000806114e8611bef565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b15801561151f57600080fd5b505afa158015611533573d6000803e3d6000fd5b505050506040513d604081101561154957600080fd5b5080516020909101519092509050611567838363ffffffff611c6816565b925084806115725750805b92975091955050505050509091565b8251825181146115d8576040805162461bcd60e51b815260206004820152601a60248201527f496e707574206172726179206c656e6774687320646966666572000000000000604482015290519081900360640190fd5b60008060606115e78787611ce0565b905060005b8481101561167657600088828151811061160257fe5b60200260200101519050600083838151811061161a57fe5b6020026020010151905061164a600560008481526020019081526020016000205487611c0e90919063ffffffff16565b955061165c858263ffffffff611c0e16565b6000928352600560205260409092205592506001016115ec565b5081831461171e57600454808411156116c05760405162461bcd60e51b81526004018080602001828103825260238152602001806123ac6023913960400191505060405180910390fd5b6116e0836116d4838763ffffffff611c6816565b9063ffffffff611c0e16565b60048190556040805182815290519192507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599919081900360200190a1505b841561172d5761172d856112d4565b50505050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061177857fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156117b7578160200160208202803883390190505b50905060005b83518110156117f9578381815181106117d257fe5b60200260200101518282815181106117e657fe5b60209081029190910101526001016117bd565b5060005b825181101561183c5782818151811061181257fe5b602002602001015182828651018151811061182957fe5b60209081029190910101526001016117fd565b5092915050565b61184b61196c565b6001600160a01b0316336001600160a01b03161480611882575061186d6121a3565b6001600160a01b0316336001600160a01b0316145b6112d25760405162461bcd60e51b81526004018080602001828103825260218152602001806124046021913960400191505060405180910390fd5b60006118c76121ba565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561193b57600080fd5b505afa15801561194f573d6000803e3d6000fd5b505050506040513d602081101561196557600080fd5b5051905090565b6000610cae6524b9b9bab2b960d11b6121d3565b60606000825190506060816040519080825280602002602001820160405280156119b4578160200160208202803883390190505b50905060005b82811015611a0857600560008683815181106119d257fe5b60200260200101518152602001908152602001600020548282815181106119f557fe5b60209081029190910101526001016119ba565b509392505050565b6000546001600160a01b031633146112d257611a2a6122b0565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015611a6257600080fd5b505afa158015610aa7573d6000803e3d6000fd5b6060600060606000611a86611cc5565b6001600160a01b031663c8e5bbd5866040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611ae4578181015183820152602001611acc565b505050509050019250505060006040518083038186803b158015611b0757600080fd5b505afa158015611b1b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611b4457600080fd5b8101908080516040519392919084600160201b821115611b6357600080fd5b908301906020820185811115611b7857600080fd5b82518660208202830111600160201b82111715611b9457600080fd5b82525081516020918201928201910280838360005b83811015611bc1578181015183820152602001611ba9565b50505050919091016040525060200151929450919250611be5915086905083611ce0565b9350915050915091565b6000610cae7021b7b63630ba32b930b626b0b730b3b2b960791b6121d3565b600082820183811015610dd3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611cbf576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610cae6c45786368616e6765526174657360981b6121d3565b6060600083519050606081604051908082528060200260200182016040528015611d14578160200160208202803883390190505b5090506060611d2161196c565b6001600160a01b0316631db63a33876040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611d7f578181015183820152602001611d67565b505050509050019250505060006040518083038186803b158015611da257600080fd5b505afa158015611db6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611ddf57600080fd5b8101908080516040519392919084600160201b821115611dfe57600080fd5b908301906020820185811115611e1357600080fd5b82518660208202830111600160201b82111715611e2f57600080fd5b82525081516020918201928201910280838360005b83811015611e5c578181015183820152602001611e44565b50505050905001604052505050905060008090505b83811015612198576000878281518110611e8757fe5b602002602001015190506000838381518110611e9f57fe5b6020026020010151905060006001600160a01b0316816001600160a01b03161415611f08576040805162461bcd60e51b8152602060048201526014602482015273141e5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f4357600080fd5b505afa158015611f57573d6000803e3d6000fd5b505050506040513d6020811015611f6d57600080fd5b50519050611f79611bef565b6001600160a01b03166342e32f13846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611fbc57600080fd5b505afa158015611fd0573d6000803e3d6000fd5b505050506040513d6020811015611fe657600080fd5b50511561208e576000611ff7611bef565b6001600160a01b031663d2f00475856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561203a57600080fd5b505afa15801561204e573d6000803e3d6000fd5b505050506040513d602081101561206457600080fd5b5051905081811115612079576000915061208c565b612089828263ffffffff611c6816565b91505b505b631c1554d160e21b831480806120aa5750630e08aa8960e31b84145b1561214b576000816120c3576120be6122ca565b6120cb565b6120cb6122e7565b90506000816001600160a01b03166357b219206040518163ffffffff1660e01b815260040160206040518083038186803b15801561210857600080fd5b505afa15801561211c573d6000803e3d6000fd5b505050506040513d602081101561213257600080fd5b50519050612146848263ffffffff611c6816565b935050505b6121718a868151811061215a57fe5b60200260200101518361230890919063ffffffff16565b87868151811061217d57fe5b6020908102919091010152505060019092019150611e719050565b509095945050505050565b6000610cae6822bc31b430b733b2b960b91b6121d3565b6000610cae6e466c657869626c6553746f7261676560881b5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161183c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561227557818101518382015260200161225d565b50505050905090810190601f1680156122a25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000610cae6b53797374656d53746174757360a01b6121d3565b6000610cae6e115d1a195c90dbdb1b185d195c985b608a1b6121d3565b6000610cae72115d1a195c90dbdb1b185d195c985b1c1554d1606a1b6121d3565b6000610dd38383670de0b6b3a7640000848067016345785d8a000061232d8686612352565b8161233457fe5b0490506005600a82061061234657600a015b600a9004949350505050565b60008261236157506000610dd6565b8282028284828161236e57fe5b0414610dd35760405162461bcd60e51b81526004018080602001828103825260218152602001806124546021913960400191505060405180910390fdfe4361636865642070796e74682073756d206578636565647320746f74616c2064656274596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053656e646572206973206e6f7420497373756572206f722045786368616e6765724f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820f77e250cda30306da667ca0b23ac716a8fac86f8cfa35be05b0aee6fa5613a5c64736f6c63430005100032",
			"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": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "DebtCacheSnapshotTaken",
					"type": "event",
					"signature": "0xc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "cachedDebt",
							"type": "uint256"
						}
					],
					"name": "DebtCacheUpdated",
					"type": "event",
					"signature": "0x294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"name": "DebtCacheValidityChanged",
					"type": "event",
					"signature": "0x8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a7"
				},
				{
					"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": "cacheInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "isStale",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3a900a2e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5f27edb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfc524773"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0fffafd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cachedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05393262"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "cachedPynthDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf7cc999f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "cachedPynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "periIssuedDebts",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdae3de98"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x759076e5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "currentPynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "debtValues",
							"type": "uint256[]"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfca28f74"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf5355d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"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": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "purgeCachedPynthDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd6576c84"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "takeDebtSnapshot",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe3476cd4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "currencyRate",
							"type": "uint256"
						}
					],
					"name": "updateCachedPynthDebtWithRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8376a782"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "updateCachedPynthDebts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfa9f18d3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "currencyRates",
							"type": "uint256[]"
						}
					],
					"name": "updateCachedPynthDebtsWithRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f98fb49"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "currentlyInvalid",
							"type": "bool"
						}
					],
					"name": "updateDebtCacheValidity",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x04bd11e5"
				}
			],
			"source": {
				"keccak256": "0x670053be3752729678bdae2cd8123f6545937fd4a3d7dc04ada44960614531df",
				"urls": [
					"bzz-raw://6c8d4b478b08a814b2f778282fad7ce78d0981df66e1f6df76268c3db301e842",
					"dweb:/ipfs/QmRTu2ys4kXXgJEm6vUw9hCGDHmEHyCuu8XB17B8f3T9YQ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DebtCache.sol": "DebtCache"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DebtCache.sol": {
						"keccak256": "0x670053be3752729678bdae2cd8123f6545937fd4a3d7dc04ada44960614531df",
						"urls": [
							"bzz-raw://6c8d4b478b08a814b2f778282fad7ce78d0981df66e1f6df76268c3db301e842",
							"dweb:/ipfs/QmRTu2ys4kXXgJEm6vUw9hCGDHmEHyCuu8XB17B8f3T9YQ"
						]
					}
				},
				"version": 1
			}
		},
		"MultiChainDebtShareState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610b21380380610b218339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505061097b806101a66000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806365a6f74d1161008c578063aefc4ccb11610066578063aefc4ccb146101e9578063bc04ca8b146101f1578063ce0db9251461020b578063d434439214610228576100cf565b806365a6f74d146101b457806379ba5097146101d95780638da5cb5b146101e1576100cf565b80630f37674b146100d45780631627540c146100fa57806337cdbee01461012257806350585bea1461014d57806352f445ca1461016a57806353a47bb714610190575b600080fd5b6100dc610230565b60408051938452911515602084015282820152519081900360600190f35b6101206004803603602081101561011057600080fd5b50356001600160a01b03166102d4565b005b6101206004803603606081101561013857600080fd5b50803590602081013590604001351515610330565b6101206004803603602081101561016357600080fd5b5035610437565b6101206004803603602081101561018057600080fd5b50356001600160a01b03166104ec565b610198610548565b604080516001600160a01b039092168252519081900360200190f35b610120600480360360408110156101ca57600080fd5b50803590602001351515610557565b6101206106ae565b61019861076a565b610198610779565b6101f9610788565b60408051918252519081900360200190f35b6100dc6004803603602081101561022157600080fd5b503561078f565b6101f9610814565b600080600060016003805490501015610251575060009150819050806102cf565b600061025b610823565b90506003818154811061026a57fe5b90600052602060002090600302016000015493506003818154811061028b57fe5b906000526020600020906003020160010160009054906101000a900460ff169250600381815481106102b957fe5b9060005260206000209060030201600201549150505b909192565b6102dc610840565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146103795760405162461bcd60e51b81526004018080602001828103825260348152602001806109136034913960400191505060405180910390fd5b816003848154811061038757fe5b90600052602060002090600302016000018190555042600384815481106103aa57fe5b90600052602060002090600302016002018190555080600384815481106103cd57fe5b6000918252602091829020600160039092020101805492151560ff19909316929092179091556040805185815291820184905282151582820152517f67a06b341cde931533ccf6303e095bd856fd9cebcaf1765690f5014e0404be059181900360600190a1505050565b6002546001600160a01b031633146104805760405162461bcd60e51b81526004018080602001828103825260348152602001806109136034913960400191505060405180910390fd5b6003818154811061048d57fe5b60009182526020808320600390920290910182815560018101805460ff19169055600201919091556040805183815290517f91afacceca1389b902cbda0ac60e2ebc587289af983bcefe4e6a5ac865e33196929181900390910190a150565b6104f4610840565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b031633146105a05760405162461bcd60e51b81526004018080602001828103825260348152602001806109136034913960400191505060405180910390fd5b6105a861088b565b50604080516060810182528381528215156020820190815242928201928352600380546001810182556000829052835191027fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b81019190915590517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c8201805491151560ff1990921691909117905591517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d909201919091557f4af0799ed8714be1b7e57cfb191ec00f5ad672829df32a8b27dba808f93ab9b661068a610823565b604080519182526020820186905284151582820152519081900360600190a1505050565b6001546001600160a01b031633146106f75760405162461bcd60e51b81526004018080602001828103825260358152602001806108af6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6003545b90565b6000806000600384815481106107a157fe5b906000526020600020906003020160000154925082600385815481106107c357fe5b906000526020600020906003020160010160009054906101000a900460ff16925082600386815481106107f257fe5b9060005260206000209060030201600201549250829250925092509193909250565b600061081e610823565b905090565b6003546000906108355750600061078c565b506003546000190190565b6000546001600160a01b031633146108895760405162461bcd60e51b815260040180806020018281038252602f8152602001806108e4602f913960400191505060405180910390fd5b565b60405180606001604052806000815260200160001515815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582072901975c34856b894b13d7768befcc2a2c7f19e611c86d037c18f9710af28d864736f6c63430005100032",
			"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": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "_debtShare",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isDecreased",
							"type": "bool"
						}
					],
					"name": "AppendDebtShareStorage",
					"type": "event",
					"signature": "0x4af0799ed8714be1b7e57cfb191ec00f5ad672829df32a8b27dba808f93ab9b6"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "RemovedDebtShareStorage",
					"type": "event",
					"signature": "0x91afacceca1389b902cbda0ac60e2ebc587289af983bcefe4e6a5ac865e33196"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "_debtShare",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isDecreased",
							"type": "bool"
						}
					],
					"name": "UpdatedDebtShareStorage",
					"type": "event",
					"signature": "0x67a06b341cde931533ccf6303e095bd856fd9cebcaf1765690f5014e0404be05"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtShare",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isDecreased",
							"type": "bool"
						}
					],
					"name": "appendToDebtShareStorage",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x65a6f74d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "debtShareStorageInfoAt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtShare",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isDecreased",
							"type": "bool"
						},
						{
							"internalType": "uint256",
							"name": "timeStamp",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xce0db925"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtShareStorageLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbc04ca8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastDebtShareStorageIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4344392"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastDebtShareStorageInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtShare",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isDecreased",
							"type": "bool"
						},
						{
							"internalType": "uint256",
							"name": "timeStamp",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0f37674b"
				},
				{
					"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": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "removeDebtShareStorage",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x50585bea"
				},
				{
					"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": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtShare",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isDecreased",
							"type": "bool"
						}
					],
					"name": "updateDebtShareStorage",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x37cdbee0"
				}
			],
			"source": {
				"keccak256": "0xc1e7b19bb28531683e80ff689e1a6485ccbe27f5594deb43362d3ebe7534dffd",
				"urls": [
					"bzz-raw://d4dcbf37cc83eee1113e3669fc0533d5a4557e53f8090f3f10c05cc855b1579c",
					"dweb:/ipfs/QmTNUdhCJPg8qX4HdUALtamUgYqG3Yfo2n8zxQ3GY2Bbn3"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"MultiChainDebtShareState.sol": "MultiChainDebtShareState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"MultiChainDebtShareState.sol": {
						"keccak256": "0xc1e7b19bb28531683e80ff689e1a6485ccbe27f5594deb43362d3ebe7534dffd",
						"urls": [
							"bzz-raw://d4dcbf37cc83eee1113e3669fc0533d5a4557e53f8090f3f10c05cc855b1579c",
							"dweb:/ipfs/QmTNUdhCJPg8qX4HdUALtamUgYqG3Yfo2n8zxQ3GY2Bbn3"
						]
					}
				},
				"version": 1
			}
		},
		"MultiChainDebtShareManager": {
			"bytecode": "608060405234801561001057600080fd5b506040516106d13803806106d18339818101604052604081101561003357600080fd5b508051602090910151816001600160a01b038116610098576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055506105b0806101216000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80636f4881fe116100665780636f4881fe1461012f57806379ba5097146101555780638da5cb5b1461015d578063e09c72a914610165578063f2beaa7a1461016d57610093565b80631627540c146100985780631da5df8a146100c0578063339bf570146100e657806353a47bb71461010b575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610175565b005b6100c86101d1565b60408051938452911515602084015282820152519081900360600190f35b6100be600480360360408110156100fc57600080fd5b50803590602001351515610267565b6101136102e0565b604080516001600160a01b039092168252519081900360200190f35b6100be6004803603602081101561014557600080fd5b50356001600160a01b03166102ef565b6100be610319565b6101136103d5565b6100be6103e4565b6101136104bd565b61017d6104cc565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000806000600260009054906101000a90046001600160a01b03166001600160a01b0316630f37674b6040518163ffffffff1660e01b815260040160606040518083038186803b15801561022457600080fd5b505afa158015610238573d6000803e3d6000fd5b505050506040513d606081101561024e57600080fd5b5080516020820151604090920151909591945092509050565b61026f6104cc565b600254604080516365a6f74d60e01b815260048101859052831515602482015290516001600160a01b03909216916365a6f74d9160448082019260009290919082900301818387803b1580156102c457600080fd5b505af11580156102d8573d6000803e3d6000fd5b505050505050565b6001546001600160a01b031681565b6102f76104cc565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146103625760405162461bcd60e51b81526004018080602001828103825260358152602001806105186035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6103ec6104cc565b60025460408051636a1a21c960e11b815290516001600160a01b03909216916350585bea91839163d434439291600480820192602092909190829003018186803b15801561043957600080fd5b505afa15801561044d573d6000803e3d6000fd5b505050506040513d602081101561046357600080fd5b5051604080516001600160e01b031960e085901b168152600481019290925251602480830192600092919082900301818387803b1580156104a357600080fd5b505af11580156104b7573d6000803e3d6000fd5b50505050565b6002546001600160a01b031690565b6000546001600160a01b031633146105155760405162461bcd60e51b815260040180806020018281038252602f81526020018061054d602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158201a4b7df814ade0c2464bdddc904c6e82b1622e57a74a7b849e17954b6529b52864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_debtShareState",
							"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": [],
					"name": "getCurrentExternalDebtEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtShare",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isDecreased",
							"type": "bool"
						},
						{
							"internalType": "uint256",
							"name": "timeStamp",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1da5df8a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "multiChainDebtShareState",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf2beaa7a"
				},
				{
					"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": "removeCurrentExternalDebtEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe09c72a9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtShare",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isDecreased",
							"type": "bool"
						}
					],
					"name": "setCurrentExternalDebtEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x339bf570"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "multiChainDebtShareStateAddress",
							"type": "address"
						}
					],
					"name": "setMultiChainDebtShareState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f4881fe"
				}
			],
			"source": {
				"keccak256": "0x8da9d0194738a9e4b9d6242e42c2e8daa0384ecbc7325d3dc22d477abfdffa82",
				"urls": [
					"bzz-raw://03270e513703c540c87f3be0984e60264f1aa16527672226524355cce00ffb29",
					"dweb:/ipfs/Qmf5Fow9frwXQhdtUC3HruaqDRzNhoCtAARVPofE6RZMXK"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"MultiChainDebtShareManager.sol": "MultiChainDebtShareManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"MultiChainDebtShareManager.sol": {
						"keccak256": "0x8da9d0194738a9e4b9d6242e42c2e8daa0384ecbc7325d3dc22d477abfdffa82",
						"urls": [
							"bzz-raw://03270e513703c540c87f3be0984e60264f1aa16527672226524355cce00ffb29",
							"dweb:/ipfs/Qmf5Fow9frwXQhdtUC3HruaqDRzNhoCtAARVPofE6RZMXK"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangerWithVirtualPynth": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162005dca38038062005dca833981810160405260408110156200003757600080fd5b50805160209091015181818080836001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050505050615c9a80620001306000396000f3fe60806040523480156200001157600080fd5b5060043610620001fc5760003560e01c806357630a40116200011d578063899ffef411620000b1578063d6f32e06116200007b578063d6f32e061462000611578063dfffca761462000640578063f39952241462000693578063f450aa3414620006fd57620001fc565b8063899ffef414620005815780638da5cb5b14620005dd578063a4a9c26614620005e7578063c193f0d8146200060757620001fc565b806379ba509711620000f357806379ba509714620004fa5780637dd1a57a146200050457806386baa45c146200052457806389257117146200057757620001fc565b806357630a4014620004855780636a1c475814620004ab5780637418536014620004f057620001fc565b80631b16802c1162000195578063372a395a116200016b578063372a395a146200042c5780633fa70f4514620004365780634c268fc8146200044057806353a47bb7146200047b57620001fc565b80631b16802c146200036b57806324286df0146200039a5780632af64bd3146200040e57620001fc565b80630aed5b4611620001d75780630aed5b4614620002ad5780631627540c14620002cf57806319d5c66514620002f85780631a5c6095146200034557620001fc565b806304f3bcec1462000201578063059c29ec14620002275780630a1e187d1462000268575b600080fd5b6200020b62000729565b604080516001600160a01b039092168252519081900360200190f35b62000256600480360360408110156200023f57600080fd5b506001600160a01b03813516906020013562000738565b60408051918252519081900360200190f35b62000256600480360360a08110156200028057600080fd5b506001600160a01b03813581169160208101359160408201359160608101359160809091013516620007e3565b620002cd60048036036020811015620002c557600080fd5b5035620008ee565b005b620002cd60048036036020811015620002e757600080fd5b50356001600160a01b031662000b63565b62000327600480360360408110156200031057600080fd5b506001600160a01b03813516906020013562000bc1565b60408051938452602084019290925282820152519081900360600190f35b62000256600480360360408110156200035d57600080fd5b508035906020013562000be1565b62000327600480360360408110156200038357600080fd5b506001600160a01b03813516906020013562000bef565b620002cd60048036036020811015620003b257600080fd5b810190602081018135600160201b811115620003cd57600080fd5b820183602082011115620003e057600080fd5b803590602001918460208302840111600160201b831117156200040257600080fd5b50909250905062000c76565b6200041862000e84565b604080519115158252519081900360200190f35b6200025662000f9a565b6200025662000fab565b62000256600480360360808110156200045857600080fd5b506001600160a01b03813516906020810135906040810135906060013562000fb0565b6200020b620010dc565b620002cd600480360360408110156200049d57600080fd5b5080359060200135620010eb565b62000256600480360360a0811015620004c357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135620011b7565b620002cd62001395565b620002cd62001568565b62000256600480360360208110156200051c57600080fd5b503562001626565b62000256600480360360e08110156200053c57600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c0013562001638565b6200025662001752565b6200058b6200175e565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015620005c9578181015183820152602001620005af565b505050509050019250505060405180910390f35b6200020b6200191b565b6200041860048036036020811015620005ff57600080fd5b50356200192a565b6200041862001987565b62000418600480360360408110156200062957600080fd5b506001600160a01b03813516906020013562001993565b62000256600480360360e08110156200065857600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135620019cb565b620006dc600480360360c0811015620006ab57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a0013562001bb6565b604080519283526001600160a01b0390911660208301528051918290030190f35b62000327600480360360608110156200071557600080fd5b508035906020810135906040013562001cdb565b6002546001600160a01b031681565b6000620007da6200074862001cfd565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015620007a657600080fd5b505afa158015620007bb573d6000803e3d6000fd5b505050506040513d6020811015620007d257600080fd5b505162001d1a565b90505b92915050565b600080620007f062001d84565b9050336001600160a01b03821614806200088157506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b1580156200085057600080fd5b505afa15801562000865573d6000803e3d6000fd5b505050506040513d60208110156200087c57600080fd5b505114155b620008be5760405162461bcd60e51b815260040180806020018281038252604781526020018062005b8a6047913960600191505060405180910390fd5b6000620008d18888888888600062001d9f565b509093509050620008e38185620021e4565b505095945050505050565b620008f86200229c565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156200093157600080fd5b505afa15801562000946573d6000803e3d6000fd5b5050505060006001600160a01b03166200095f620022b8565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620009a357600080fd5b505afa158015620009b8573d6000803e3d6000fd5b505050506040513d6020811015620009cf57600080fd5b50516001600160a01b0316141562000a1e576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e0f2dce8d609b1b604482015290519081900360640190fd5b62000aa58162000a2d620022ce565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562000a7157600080fd5b505afa15801562000a86573d6000803e3d6000fd5b505050506040513d602081101562000a9d57600080fd5b5051620022eb565b62000aee576040805162461bcd60e51b8152602060048201526014602482015273141e5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b62000af86200229c565b6001600160a01b031663631070fc8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801562000b4757600080fd5b505af115801562000b5c573d6000803e3d6000fd5b5050505050565b62000b6d62002555565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600080600062000bd28585620025a2565b50919790965090945092505050565b6000620007da838362002897565b600080600062000bfe6200229c565b6001600160a01b0316631d7e7789856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801562000c4257600080fd5b505afa15801562000c57573d6000803e3d6000fd5b5050505062000c698585600162002960565b9250925092509250925092565b62000c8062002555565b6060600062000c8e620022ce565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801562000d0157600080fd5b505afa15801562000d16573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101562000d4057600080fd5b8101908080516040519392919084600160201b82111562000d6057600080fd5b90830190602082018581111562000d7657600080fd5b82518660208202830111600160201b8211171562000d9357600080fd5b82525081516020918201928201910280838360005b8381101562000dc257818101518382015260200162000da8565b50505050919091016040525060200151929450919250508115905062000e2f576040805162461bcd60e51b815260206004820181905260248201527f526174657320666f7220676976656e2073796e746873206e6f742076616c6964604482015290519081900360640190fd5b60005b8381101562000b5c5782818151811062000e4857fe5b60200260200101516004600087878581811062000e6157fe5b602090810292909201358352508101919091526040016000205560010162000e32565b6000606062000e926200175e565b905060005b815181101562000f9057600082828151811062000eb057fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801562000f1957600080fd5b505afa15801562000f2e573d6000803e3d6000fd5b505050506040513d602081101562000f4557600080fd5b50516001600160a01b031614158062000f7357506000818152600360205260409020546001600160a01b0316155b1562000f86576000935050505062000f97565b5060010162000e97565b5060019150505b90565b600062000fa662002cf6565b905090565b604181565b81600062000fbd620022b8565b6001600160a01b03166357ad4663866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200100157600080fd5b505afa15801562001016573d6000803e3d6000fd5b505050506040513d60208110156200102d57600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156200107a57600080fd5b505afa1580156200108f573d6000803e3d6000fd5b505050506040513d6020811015620010a657600080fd5b5051905080821115620010b7578091505b8215620010d357620010d0828463ffffffff62002db216565b91505b50949350505050565b6001546001600160a01b031681565b6000620010f7620022ce565b9050336001600160a01b0382161462001157576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b60008211620011a4576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526004602052604090912055565b600080620011c462001d84565b9050336001600160a01b03821614806200125557506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b1580156200122457600080fd5b505afa15801562001239573d6000803e3d6000fd5b505050506040513d60208110156200125057600080fd5b505114155b620012925760405162461bcd60e51b815260040180806020018281038252604781526020018062005b8a6047913960600191505060405180910390fd5b6200129c62002e0d565b6040805163faf431bb60e01b81526001600160a01b038a8116600483015289811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b158015620012f057600080fd5b505afa15801562001305573d6000803e3d6000fd5b505050506040513d60208110156200131c57600080fd5b505162001370576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b600062001383888787878c600062001d9f565b509093509050620008e38189620021e4565b6060620013a16200175e565b905060005b815181101562001564576000828281518110620013bf57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015620014775781810151838201526020016200145d565b50505050905090810190601f168015620014a55780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015620014c457600080fd5b505afa158015620014d9573d6000803e3d6000fd5b505050506040513d6020811015620014f057600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101620013a6565b5050565b6001546001600160a01b03163314620015b35760405162461bcd60e51b815260040180806020018281038252603581526020018062005b556035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60046020526000908152604090205481565b6000806200164562001d84565b9050336001600160a01b0382161480620016d657506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b158015620016a557600080fd5b505afa158015620016ba573d6000803e3d6000fd5b505050506040513d6020811015620016d157600080fd5b505114155b620017135760405162461bcd60e51b815260040180806020018281038252604781526020018062005b8a6047913960600191505060405180910390fd5b6000620017268a8a8a8a8a600062001d9f565b509093509050620017388186620021e4565b6200174584888562002e2e565b5050979650505050505050565b600062000fa662002eac565b6060806200176b62002f29565b60408051600980825261014082019092529192506060919060208201610120803883390190505090506b53797374656d53746174757360a01b81600081518110620017b257fe5b6020026020010181815250506c45786368616e6765537461746560981b81600181518110620017dd57fe5b6020026020010181815250506c45786368616e6765526174657360981b816002815181106200180857fe5b6020026020010181815250506a5065726946696e616e636560a81b816003815181106200183157fe5b60200260200101818152505066119959541bdbdb60ca1b816004815181106200185657fe5b6020026020010181815250506d54726164696e675265776172647360901b816005815181106200188257fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b81600681518110620018b157fe5b6020026020010181815250506524b9b9bab2b960d11b81600781518110620018d557fe5b6020026020010181815250506844656274436163686560b81b81600881518110620018fc57fe5b60200260200101818152505062001914828262002f7b565b9250505090565b6000546001600160a01b031681565b60006200197f826200193b620022ce565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562000a7157600080fd5b90505b919050565b600062000fa662003040565b6000620019a1838362000738565b15620019b057506001620007dd565b6000620019be8484620025a2565b5050501515949350505050565b600080620019d862001d84565b9050336001600160a01b038216148062001a6957506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b15801562001a3857600080fd5b505afa15801562001a4d573d6000803e3d6000fd5b505050506040513d602081101562001a6457600080fd5b505114155b62001aa65760405162461bcd60e51b815260040180806020018281038252604781526020018062005b8a6047913960600191505060405180910390fd5b62001ab062002e0d565b6040805163faf431bb60e01b81526001600160a01b038c811660048301528b811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b15801562001b0457600080fd5b505afa15801562001b19573d6000803e3d6000fd5b505050506040513d602081101562001b3057600080fd5b505162001b84576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b600062001b978a8989898e600062001d9f565b50909350905062001ba98186620021e4565b6200174584878562002e2e565b600080600062001bc562001d84565b9050336001600160a01b038216148062001c5657506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b15801562001c2557600080fd5b505afa15801562001c3a573d6000803e3d6000fd5b505050506040513d602081101562001c5157600080fd5b505114155b62001c935760405162461bcd60e51b815260040180806020018281038252604781526020018062005b8a6047913960600191505060405180910390fd5b600062001ca68a8a8a8a8a600162001d9f565b919550909350905062001cba8187620021e4565b841562001cce5762001cce85888662002e2e565b5050965096945050505050565b600080600062001ced868686620030c1565b5092999198509650945050505050565b600062000fa66c45786368616e6765537461746560981b620031a6565b60008062001d2762002eac565b905082158062001d48575062001d44838263ffffffff62002db216565b4210155b1562001d5957600091505062001982565b62001d7d4262001d70858463ffffffff62002db216565b9063ffffffff6200328716565b9392505050565b600062000fa66a5065726946696e616e636560a81b620031a6565b600080600062001db1888888620032e5565b600062001dc0888b8b620034cb565b90508062001dd9575060009250829150819050620021d8565b600080600062001deb848d8c620030c1565b939a5091985094509250905062001e038c8362003508565b8062001e16575062001e168a8262003508565b1562001e31575060009550859450849350620021d892505050565b62001e428c8e868d8b8e8e620035ab565b94506001600160a01b0385161562001e58578498505b8515620020c75762001e69620022ce565b6001600160a01b031663654a60ac8b88631c1554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801562001ec457600080fd5b505afa15801562001ed9573d6000803e3d6000fd5b505050506040513d602081101562001ef057600080fd5b5051955062001efe620022b8565b6001600160a01b03166357ad4663631c1554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562001f4957600080fd5b505afa15801562001f5e573d6000803e3d6000fd5b505050506040513d602081101562001f7557600080fd5b50516001600160a01b031663867904b462001f8f620038a0565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801562001fc857600080fd5b505afa15801562001fdd573d6000803e3d6000fd5b505050506040513d602081101562001ff457600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018a905251604480830192600092919082900301818387803b1580156200204457600080fd5b505af115801562002059573d6000803e3d6000fd5b5050505062002067620038a0565b6001600160a01b03166322bf55ef876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015620020ad57600080fd5b505af1158015620020c2573d6000803e3d6000fd5b505050505b620020fb60405180604001604052808e81526020018c815250604051806040016040528085815260200184815250620038b7565b6200210562001d84565b6001600160a01b0316631b99084c8e8e878e8c8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b1580156200219757600080fd5b505af1158015620021ac573d6000803e3d6000fd5b505050506000620021bc62002eac565b1115620021d357620021d3898d868d8b8862003b8c565b505050505b96509650969350505050565b600082118015620021fd57506001600160a01b03811615155b80156200220f57506200220f62003040565b1562001564576200221f62003da9565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b1580156200227f57600080fd5b505af115801562002294573d6000803e3d6000fd5b505050505050565b600062000fa66b53797374656d53746174757360a01b620031a6565b600062000fa66524b9b9bab2b960d11b620031a6565b600062000fa66c45786368616e6765526174657360981b620031a6565b600081620022fc57506001620007dd565b600083815260046020526040902054801562002327576200231e818462003dc7565b915050620007dd565b606062002333620022ce565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b1580156200238057600080fd5b505afa15801562002395573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015620023bf57600080fd5b8101908080516040519392919084600160201b821115620023df57600080fd5b908301906020820185811115620023f557600080fd5b82518660208202830111600160201b821117156200241257600080fd5b82525081516020918201928201910280838360005b838110156200244157818101518382015260200162002427565b5050505090500160405260200180516040519392919084600160201b8211156200246a57600080fd5b9083019060208201858111156200248057600080fd5b82518660208202830111600160201b821117156200249d57600080fd5b82525081516020918201928201910280838360005b83811015620024cc578181015183820152602001620024b2565b505050509050016040525050505090506000600190505b815181101562002549576000828281518110620024fc57fe5b60200260200101511180156200252d57506200252d8282815181106200251e57fe5b60200260200101518662003dc7565b15620025405760019350505050620007dd565b600101620024e3565b50600095945050505050565b6000546001600160a01b03163314620025a05760405162461bcd60e51b815260040180806020018281038252602f81526020018062005bd1602f913960400191505060405180910390fd5b565b60008060006060620025b362001cfd565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156200261157600080fd5b505afa15801562002626573d6000803e3d6000fd5b505050506040513d60208110156200263d57600080fd5b50516040805182815260208084028201019091529092506060908380156200268257816020015b6200266e62004772565b815260200190600190039081620026645790505b50905060005b838110156200288b576000806200269e62004772565b620026ab8b8b8662003e31565b9050600080620026bb8362003f53565b915091506000620026cb620022ce565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b1580156200273b57600080fd5b505afa15801562002750573d6000803e3d6000fd5b505050506040513d60208110156200276757600080fd5b5051608085015190915060009062002781908390620040b0565b90506200279385606001518262003dc7565b62002814578085606001511115620027d8576060850151620027bc908263ffffffff6200328716565b9650620027d08d8863ffffffff62002db216565b9c5062002814565b846060015181111562002814576060850151620027fd90829063ffffffff6200328716565b9550620028118c8763ffffffff62002db216565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a001518152508989815181106200286b57fe5b602002602001018190525050505050505050808060010191505062002688565b50905092959194509250565b6000620028a48262004149565b9050631c1554d160e21b831480620028c25750631c1554d160e21b82145b15620028ce57620007dd565b607360f81b6001600160f81b0319600085901a60f81b16148015620029075750606960f81b6001600160f81b0319600084901a60f81b16145b80620029475750606960f81b6001600160f81b0319600085901a60f81b16148015620029475750607360f81b6001600160f81b0319600084901a60f81b16145b15620007dd57620007da81600263ffffffff6200422616565b600080600062002971868662000738565b15620029af5760405162461bcd60e51b815260040180806020018281038252602381526020018062005c436023913960400191505060405180910390fd5b60008060006060620029c28a8a620025a2565b935093509350935082841115620029fa57620029e5848463ffffffff6200328716565b9650620029f48a8a8962004284565b62002a24565b8383111562002a245762002a15838563ffffffff6200328716565b955062002a248a8a88620043de565b871562002b135760408051600180825281830190925260609160208083019080388339019050509050898160008151811062002a5c57fe5b60200260200101818152505062002a7262004538565b6001600160a01b031663fa9f18d3826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101562002ad257818101518382015260200162002ab8565b5050505090500192505050600060405180830381600087803b15801562002af857600080fd5b505af115801562002b0d573d6000803e3d6000fd5b50505050505b60005b815181101562002c62578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e94083838151811062002b5857fe5b60200260200101516000015184848151811062002b7157fe5b60200260200101516020015185858151811062002b8a57fe5b60200260200101516040015186868151811062002ba357fe5b60200260200101516060015187878151811062002bbc57fe5b60200260200101516080015188888151811062002bd557fe5b602002602001015160a0015189898151811062002bee57fe5b602002602001015160c001518a8a8151811062002c0757fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a260010162002b16565b5081945062002c7062001cfd565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801562002cd057600080fd5b505af115801562002ce5573d6000803e3d6000fd5b505050505050505093509350939050565b600062002d0262004551565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562002d7f57600080fd5b505afa15801562002d94573d6000803e3d6000fd5b505050506040513d602081101562002dab57600080fd5b5051905090565b600082820183811015620007da576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600062000fa67044656c6567617465417070726f76616c7360781b620031a6565b62002e3862001d84565b6001600160a01b031663ddd03a3f8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801562002e8e57600080fd5b505af115801562002ea3573d6000803e3d6000fd5b50505050505050565b600062002eb862004551565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562002d7f57600080fd5b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811062002f6c57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801562002fac578160200160208202803883390190505b50905060005b835181101562002ff25783818151811062002fc957fe5b602002602001015182828151811062002fde57fe5b602090810291909101015260010162002fb2565b5060005b825181101562003039578281815181106200300d57fe5b60200260200101518282865101815181106200302557fe5b602090810291909101015260010162002ff6565b5092915050565b60006200304c62004551565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562002d7f57600080fd5b600080600080600080620030d4620022ce565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b1580156200312857600080fd5b505afa1580156200313d573d6000803e3d6000fd5b505050506040513d60608110156200315457600080fd5b5080516020820151604090920151919450909250905062003176888862002897565b9350620031848185620040b0565b955062003198818763ffffffff6200328716565b945050939792965093509350565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081620030395760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200324b57818101518382015260200162003231565b50505050905090810190601f168015620032795780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600082821115620032df576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b8083141562003331576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e0f2dce8d606b1b604482015290519081900360640190fd5b6000821162003375576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b60408051600280825260608083018452926020830190803883390190505090508381600081518110620033a457fe5b6020026020010181815250508181600181518110620033bf57fe5b602002602001018181525050620033d5620022ce565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015620034355781810151838201526020016200341b565b505050509050019250505060206040518083038186803b1580156200345957600080fd5b505afa1580156200346e573d6000803e3d6000fd5b505050506040513d60208110156200348557600080fd5b505115620034c55760405162461bcd60e51b815260040180806020018281038252602281526020018062005c216022913960400191505060405180910390fd5b50505050565b6000806000620034de8585600062002960565b8895509093509150508015620034ff57620034fc8585888562000fb0565b92505b50509392505050565b6000620035168383620022eb565b156200359857620035266200229c565b6001600160a01b031663631070fc8460416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156200357557600080fd5b505af11580156200358a573d6000803e3d6000fd5b5050505060019050620007dd565b6000928352600460205260409092205590565b6000620035b7620022b8565b6001600160a01b03166357ad4663896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620035fb57600080fd5b505afa15801562003610573d6000803e3d6000fd5b505050506040513d60208110156200362757600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b1580156200367c57600080fd5b505af115801562003691573d6000803e3d6000fd5b505050506000620036a1620022b8565b6001600160a01b03166357ad4663876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620036e557600080fd5b505afa158015620036fa573d6000803e3d6000fd5b505050506040513d60208110156200371157600080fd5b5051905082156200381957600081905062003796816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b1580156200375f57600080fd5b505afa15801562003774573d6000803e3d6000fd5b505050506040513d60208110156200378b57600080fd5b505186888a62004570565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015620037f957600080fd5b505af11580156200380e573d6000803e3d6000fd5b505050505062003894565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156200387a57600080fd5b505af11580156200388f573d6000803e3d6000fd5b505050505b50979650505050505050565b600062000fa666119959541bdbdb60ca1b620031a6565b8151600090631c1554d160e21b1480620038db57506020830151631c1554d160e21b145b9050600081620038ed576003620038f0565b60025b60ff16905060608160405190808252806020026020018201604052801562003922578160200160208202803883390190505b5090508460006020020151816000815181106200393b57fe5b60209081029190910101528460016020020151816001815181106200395c57fe5b60200260200101818152505060608260405190808252806020026020018201604052801562003995578160200160208202803883390190505b509050846000602002015181600081518110620039ae57fe5b6020908102919091010152846001602002015181600181518110620039cf57fe5b6020026020010181815250508362003a9357631c1554d160e21b82600281518110620039f757fe5b60200260200101818152505073__$4ebb82ca590d84b81fb31f12bec06880a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801562003a4857600080fd5b505af415801562003a5d573d6000803e3d6000fd5b505050506040513d602081101562003a7457600080fd5b505181518290600290811062003a8657fe5b6020026020010181815250505b62003a9d62004538565b6001600160a01b0316639f98fb4983836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101562003b0257818101518382015260200162003ae8565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101562003b4357818101518382015260200162003b29565b50505050905001945050505050600060405180830381600087803b15801562003b6b57600080fd5b505af115801562003b80573d6000803e3d6000fd5b50505050505050505050565b600062003b98620022ce565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562003be157600080fd5b505afa15801562003bf6573d6000803e3d6000fd5b505050506040513d602081101562003c0d57600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b15801562003c5d57600080fd5b505afa15801562003c72573d6000803e3d6000fd5b505050506040513d602081101562003c8957600080fd5b5051905062003c9762001cfd565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b15801562003d1d57600080fd5b505af115801562003d32573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b600062000fa66d54726164696e675265776172647360901b620031a6565b600082158062003dd5575081155b1562003de457506001620007dd565b60008383111562003e095762003e01838563ffffffff620046ab16565b905062003e1e565b62003e1b848463ffffffff620046ab16565b90505b62003e2862002cf6565b11159392505050565b62003e3b62004772565b60008060008060008060008062003e5162001cfd565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b15801562003eb857600080fd5b505afa15801562003ecd573d6000803e3d6000fd5b505050506040513d61010081101562003ee557600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b600080600062003f62620022ce565b9050600062003f7062002eac565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801562003fdb57600080fd5b505afa15801562003ff0573d6000803e3d6000fd5b505050506040513d60208110156200400757600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b1580156200407857600080fd5b505afa1580156200408d573d6000803e3d6000fd5b505050506040513d6020811015620040a457600080fd5b50519395939450505050565b6000620007da6200413b8373__$4ebb82ca590d84b81fb31f12bec06880a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200410057600080fd5b505af415801562004115573d6000803e3d6000fd5b505050506040513d60208110156200412c57600080fd5b50519063ffffffff6200328716565b849063ffffffff620046d916565b60006200415562004551565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015620041f257600080fd5b505afa15801562004207573d6000803e3d6000fd5b505050506040513d60208110156200421e57600080fd5b505192915050565b6000826200423757506000620007dd565b828202828482816200424557fe5b0414620007da5760405162461bcd60e51b815260040180806020018281038252602181526020018062005c006021913960400191505060405180910390fd5b6200428e620022b8565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620042d257600080fd5b505afa158015620042e7573d6000803e3d6000fd5b505050506040513d6020811015620042fe57600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b1580156200435357600080fd5b505af115801562004368573d6000803e3d6000fd5b505050506200437662001d84565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801562002e8e57600080fd5b620043e8620022b8565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200442c57600080fd5b505afa15801562004441573d6000803e3d6000fd5b505050506040513d60208110156200445857600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b158015620044ad57600080fd5b505af1158015620044c2573d6000803e3d6000fd5b50505050620044d062001d84565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801562002e8e57600080fd5b600062000fa66844656274436163686560b81b620031a6565b600062000fa66e466c657869626c6553746f7261676560881b620031a6565b6000606960f81b6001600160f81b031983831a60f81b161415620045db576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732070796e746800000000604482015290519081900360640190fd5b60025460405186916001600160a01b031690869086908690620045fe90620047bd565b6001600160a01b0395861681529385166020850152919093166040808401919091526060830193909352608082015290519081900360a001906000f0801580156200464d573d6000803e3d6000fd5b50604080516001600160a01b03808416825260208201869052818301879052915192935081871692918816917f40d987c0a731a91929904e2b9a1a44b1aa1c6ab528b7ee2e35652fe1691cbd369181900360600190a3949350505050565b6000620007da82620046cc85670de0b6b3a764000063ffffffff6200422616565b9063ffffffff6200470616565b6000670de0b6b3a7640000620046f6848463ffffffff6200422616565b81620046fe57fe5b049392505050565b60008082116200475d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816200476957fe5b04949350505050565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b61138980620047cc8339019056fe60806040526004805460ff60a01b1916905534801561001d57600080fd5b50604051611389380380611389833981810160405260a081101561004057600080fd5b508051602082015160408301516060840151608090940151600380546001600160a01b038087166001600160a01b03199283161790925560048054928616929091169190911790556007819055929391929091906100a783836001600160e01b036100b416565b506005555061020f915050565b6001600160a01b03821661010f576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610128816002546101ae60201b610b011790919060201c565b6002556001600160a01b03821660009081526020818152604090912054610158918390610b016101ae821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082820183811015610208576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b61116b8061021e6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80633db3dc9b116100b85780638f7758391161007c5780638f7758391461036657806395d89b411461036e578063a457c2d714610376578063a9059cbb146103a2578063dbd06c85146103ce578063dd62ed3e146103d657610142565b80633db3dc9b146103005780634be37cea146103085780636a256b291461031057806370a082311461033857806378f2ac261461035e57610142565b806323b872dd1161010a57806323b872dd1461024a5780632c4e722e14610280578063313ce56714610288578063378dc3dc146102a657806339509351146102ae5780633af9e669146102da57610142565b806304f3bcec1461014757806306fdde031461016b578063095ea7b3146101e857806318160ddd146102285780631d0cbc8b14610242575b600080fd5b61014f610404565b604080516001600160a01b039092168252519081900360200190f35b610173610413565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ad578181015183820152602001610195565b50505050905090810190601f1680156101da5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610214600480360360408110156101fe57600080fd5b506001600160a01b03813516906020013561044d565b604080519115158252519081900360200190f35b610230610464565b60408051918252519081900360200190f35b61014f61046a565b6102146004803603606081101561026057600080fd5b506001600160a01b03813581169160208101359091169060400135610479565b6102306104d0565b6102906104df565b6040805160ff9092168252519081900360200190f35b6102306104e4565b610214600480360360408110156102c457600080fd5b506001600160a01b0381351690602001356104ea565b610230600480360360208110156102f057600080fd5b50356001600160a01b0316610526565b610230610531565b610230610537565b6103366004803603602081101561032657600080fd5b50356001600160a01b0316610541565b005b6102306004803603602081101561034e57600080fd5b50356001600160a01b03166105f5565b610214610610565b610214610620565b610173610630565b6102146004803603604081101561038c57600080fd5b506001600160a01b03813516906020013561065c565b610214600480360360408110156103b857600080fd5b506001600160a01b038135169060200135610698565b6102306106a5565b610230600480360360408110156103ec57600080fd5b506001600160a01b03813581169160200135166106ab565b6004546001600160a01b031681565b600754604080516d02b34b93a3ab0b610283cb73a34160951b6020820152602e8082019390935281518082039093018352604e0190525b90565b600061045a3384846106d6565b5060015b92915050565b60025490565b6003546001600160a01b031681565b60006104868484846107c2565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546104c69186916104c1908663ffffffff61090416565b6106d6565b5060019392505050565b60006104da610961565b905090565b601281565b60055481565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161045a9185906104c1908663ffffffff610b0116565b600061045e82610b62565b60065481565b60006104da610b88565b610549610c22565b6003546001600160a01b031663a9059cbb8261056481610b62565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156105b357600080fd5b505af11580156105c7573d6000803e3d6000fd5b505050506040513d60208110156105dd57600080fd5b506105f29050816105ed816105f5565b610da2565b50565b6001600160a01b031660009081526020819052604090205490565b600061061a610b88565b15905090565b600454600160a01b900460ff1681565b60075460408051603b60f91b602082015260218082019390935281518082039093018352604101905290565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161045a9185906104c1908663ffffffff61090416565b600061045a3384846107c2565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661071b5760405162461bcd60e51b81526004018080602001828103825260248152602001806111136024913960400191505060405180910390fd5b6001600160a01b0382166107605760405162461bcd60e51b815260040180806020018281038252602281526020018061108a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108075760405162461bcd60e51b81526004018080602001828103825260258152602001806110ee6025913960400191505060405180910390fd5b6001600160a01b03821661084c5760405162461bcd60e51b81526004018080602001828103825260238152602001806110676023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610875908263ffffffff61090416565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108aa908263ffffffff610b0116565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561095b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000600554600014156109765750600061044a565b600454600090600160a01b900460ff16610ae257600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156109d557600080fd5b505afa1580156109e9573d6000803e3d6000fd5b505050506040513d60208110156109ff57600080fd5b50519050600080610a0e610e7b565b6001600160a01b03166319d5c665306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610a6d57600080fd5b505afa158015610a81573d6000803e3d6000fd5b505050506040513d6060811015610a9757600080fd5b50805160209091015190925090508115610ac257610abb838363ffffffff61090416565b9250610adb565b8015610adb57610ad8838263ffffffff610b0116565b92505b5050610ae7565b506006545b600554610afb90829063ffffffff610f0a16565b91505090565b600082820183811015610b5b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080610b6e836105f5565b9050610b5b610b7b610961565b829063ffffffff610f1f16565b6000610b92610e7b565b6001600160a01b031663059c29ec306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015610bf157600080fd5b505afa158015610c05573d6000803e3d6000fd5b505050506040513d6020811015610c1b57600080fd5b5051905090565b600454600160a01b900460ff1615610c3957610da0565b6004805460ff60a01b1916600160a01b179055610c54610e7b565b6001600160a01b0316631b16802c306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015610cb557600080fd5b505af1158015610cc9573d6000803e3d6000fd5b505050506040513d6060811015610cdf57600080fd5b5050600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d2c57600080fd5b505afa158015610d40573d6000803e3d6000fd5b505050506040513d6020811015610d5657600080fd5b50516006557ff5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62610d84610464565b6006546040805192835260208301919091528051918290030190a15b565b6001600160a01b038216610de75760405162461bcd60e51b81526004018080602001828103825260218152602001806110cd6021913960400191505060405180910390fd5b600254610dfa908263ffffffff61090416565b6002556001600160a01b038216600090815260208190526040902054610e26908263ffffffff61090416565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b600480546040805163dacb2d0160e01b81526822bc31b430b733b2b960b91b9381019390935260248301819052601c60448401527f45786368616e67657220636f6e7472616374206e6f7420666f756e64000000006064840152516000926001600160a01b039092169163dacb2d01916084808301926020929190829003018186803b158015610bf157600080fd5b6000610b5b8383670de0b6b3a7640000610f34565b6000610b5b8383670de0b6b3a7640000610f78565b600080610f5a84610f4e87600a870263ffffffff610fa316565b9063ffffffff610ffc16565b90506005600a825b0610610f6c57600a015b600a9004949350505050565b600080600a8304610f8f868663ffffffff610fa316565b81610f9657fe5b0490506005600a82610f62565b600082610fb25750600061045e565b82820282848281610fbf57fe5b0414610b5b5760405162461bcd60e51b81526004018080602001828103825260218152602001806110ac6021913960400191505060405180910390fd5b6000808211611052576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161105d57fe5b0494935050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820bfa69531075072d6ca6451b938db8172e1d7013b5c3e52ea94c8cc6a4593bfbb64736f6c63430005100032596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c79207065726946696e616e6365206f7220612070796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a72315820d3d98a49ae7ec4e1bac563f3ded8fca782fb8a902b70b215eb3446897b4808c664736f6c63430005100032",
			"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": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "ExchangeEntryAppended",
					"type": "event",
					"signature": "0x62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce9462398"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reclaim",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rebate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcRoundIdAtPeriodEnd",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "destRoundIdAtPeriodEnd",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "exchangeTimestamp",
							"type": "uint256"
						}
					],
					"name": "ExchangeEntrySettled",
					"type": "event",
					"signature": "0x8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940"
				},
				{
					"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": "pynth",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "vPynth",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "VirtualPynthCreated",
					"type": "event",
					"signature": "0x40d987c0a731a91929904e2b9a1a44b1aa1c6ab528b7ee2e35652fe1691cbd36"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CIRCUIT_BREAKER_SUSPENSION_REASON",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fa70f45"
				},
				{
					"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": 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"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdfffca76"
				},
				{
					"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"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x86baa45c"
				},
				{
					"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"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "vPynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf3995224"
				},
				{
					"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": [
						{
							"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": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isPynthRateInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4a9c266"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "lastExchangeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7dd1a57a"
				},
				{
					"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": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resetLastExchangeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x24286df0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "setLastExchangeRateForPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x57630a40"
				},
				{
					"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": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "suspendPynthWithInvalidRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aed5b46"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc193f0d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			],
			"source": {
				"keccak256": "0xeab3bc822f3304ec4b17dfd62a4d4229ed95a8d26260a1943cfa5cb5953f1348",
				"urls": [
					"bzz-raw://02b05d1c5ff325f212b46d3133b046c0bf5ef57ef6f4d934252014d17409f2aa",
					"dweb:/ipfs/QmPcTvXvzMqE5FcQKc3wRv1NiQbeokGsD1gU5F7HTPSv9a"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangerWithVirtualPynth.sol": "ExchangerWithVirtualPynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangerWithVirtualPynth.sol": {
						"keccak256": "0xeab3bc822f3304ec4b17dfd62a4d4229ed95a8d26260a1943cfa5cb5953f1348",
						"urls": [
							"bzz-raw://02b05d1c5ff325f212b46d3133b046c0bf5ef57ef6f4d934252014d17409f2aa",
							"dweb:/ipfs/QmPcTvXvzMqE5FcQKc3wRv1NiQbeokGsD1gU5F7HTPSv9a"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeState": {
			"bytecode": "6080604052600c60045534801561001557600080fd5b50604051610bc5380380610bc58339818101604052604081101561003857600080fd5b50805160209091015180826001600160a01b03811661009e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610148576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050610a1a806101ab6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806379ba50971161008c578063b44e975311610066578063b44e975314610290578063cd8b94dc146102bc578063d0d3d62a146102d9578063f1406dc814610305576100ea565b806379ba5097146102785780638da5cb5b14610280578063aefc4ccb14610288576100ea565b80633ca9d85c116100c85780633ca9d85c146101a457806352f445ca146101fc57806353a47bb7146102225780636e13fe7614610246576100ea565b80630d40d0cf146100ef57806315987eb6146101095780631627540c1461017c575b600080fd5b6100f7610331565b60408051918252519081900360200190f35b61013b6004803603606081101561011f57600080fd5b506001600160a01b038135169060208101359060400135610337565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b6101a26004803603602081101561019257600080fd5b50356001600160a01b03166103dc565b005b6101a260048036036101208110156101bb57600080fd5b506001600160a01b038135169060208101359060408101359060608101359060808101359060a08101359060c08101359060e0810135906101000135610438565b6101a26004803603602081101561021257600080fd5b50356001600160a01b03166105aa565b61022a610606565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603606081101561025c57600080fd5b506001600160a01b038135169060208101359060400135610615565b6101a261067f565b61022a61073b565b61022a61074a565b6100f7600480360360408110156102a657600080fd5b506001600160a01b038135169060200135610759565b6101a2600480360360208110156102d257600080fd5b5035610781565b6101a2600480360360408110156102ef57600080fd5b506001600160a01b03813516906020013561078e565b6100f76004803603604081101561031b57600080fd5b506001600160a01b038135169060200135610807565b60045481565b6000806000806000806000806000600360008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008c81526020019081526020016000208a8154811061038657fe5b906000526020600020906008020190508060000154816001015482600201548360030154846004015485600501548660060154876007015498509850985098509850985098509850509397509397509397509397565b6103e461088d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146104815760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6004546001600160a01b038a1660009081526003602090815260408083208a8452909152902054106104fa576040805162461bcd60e51b815260206004820152601860248201527f4d6178207175657565206c656e67746820726561636865640000000000000000604482015290519081900360640190fd5b6001600160a01b03909816600090815260036020818152604080842089855282528084208151610100810183529b8c528b83019a8b52908b0198895260608b0197885260808b0196875260a08b0195865260c08b0194855260e08b019b8c5280546001818101835591855291909320995160089091029099019889559651908801559351600287015591519385019390935591516004840155905160058301555160068201559051600790910155565b6105b261088d565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6003602052826000526040600020602052816000526040600020818154811061063a57fe5b60009182526020909120600890910201805460018201546002830154600384015460048501546005860154600687015460079097015495995093975091955093909288565b6001546001600160a01b031633146106c85760405162461bcd60e51b815260040180806020018281038252603581526020018061094e6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b03919091166000908152600360209081526040808320938352929052205490565b61078961088d565b600455565b6002546001600160a01b031633146107d75760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6001600160a01b03821660009081526003602090815260408083208484529091528120610803916108d8565b5050565b6001600160a01b0382166000908152600360209081526040808320848452909152812081805b8254811015610884578183828154811061084357fe5b906000526020600020906008020160050154111561087c5782818154811061086757fe5b90600052602060002090600802016005015491505b60010161082d565b50949350505050565b6000546001600160a01b031633146108d65760405162461bcd60e51b815260040180806020018281038252602f815260200180610983602f913960400191505060405180910390fd5b565b50805460008255600802906000526020600020908101906108f991906108fc565b50565b61094a91905b808211156109465760008082556001820181905560028201819055600382018190556004820181905560058201819055600682018190556007820155600801610902565b5090565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582052f349782cf5c8eaa9d7efc04abe8807d864391dc840cfe0e8cf396ff565eef864736f6c63430005100032",
			"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"
				}
			],
			"source": {
				"keccak256": "0x467497b23dc7a493e04190e616c4c8d5cd0cfe6d6a72727e49ea5908ba1befb6",
				"urls": [
					"bzz-raw://9a48701ab79b8b88c37c06e986769718458ff1495db18e82c9880ef4ab211bc3",
					"dweb:/ipfs/QmcKGUsbzSQSceqj3idb1aKNTuJiamBCyaVWqnuXBM6nbB"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeState.sol": "ExchangeState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangeState.sol": {
						"keccak256": "0x467497b23dc7a493e04190e616c4c8d5cd0cfe6d6a72727e49ea5908ba1befb6",
						"urls": [
							"bzz-raw://9a48701ab79b8b88c37c06e986769718458ff1495db18e82c9880ef4ab211bc3",
							"dweb:/ipfs/QmcKGUsbzSQSceqj3idb1aKNTuJiamBCyaVWqnuXBM6nbB"
						]
					}
				},
				"version": 1
			}
		},
		"Issuer": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620060af380380620060af833981810160405260408110156200003757600080fd5b5080516020909101518080836001600160a01b0381166200009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050615f83806200012c6000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c806379ba50971161013b578063ae3bbbbb116100b8578063d99947de1161007c578063d99947de1461082f578063dd3d2b2e14610837578063f023e8db1461085d578063f0617e5b14610882578063f5adc4f5146108a85761023d565b8063ae3bbbbb1461076b578063b42652e914610791578063becf5ff8146107b7578063c9a2f3ad146107dd578063d37c4d8b146108035761023d565b806394955cec116100ff57806394955cec1461068d5780639df95f9f146106b3578063a311c7c2146106d0578063a5fdc5de146106f6578063a63c4df41461071c5761023d565b806379ba5097146105f6578063899ffef4146105fe5780638d542eb3146106065780638da5cb5b1461064b5780639288e704146106535761023d565b80634c29b0af116101c95780636017c4581161018d5780636017c4581461053e578063614d08f8146105ac5780636ac471c4146105b457806372cb051f146105e657806374185360146105ee5761023d565b80634c29b0af1461045657806353a47bb71461047357806355182ccb1461047b5780635543dadc146104b357806357ad4663146105215761023d565b8063171af06311610210578063171af063146102e65780631db63a33146103125780632ae78fdb146103d05780632af64bd31461040a5780633b09280a146104125761023d565b806304f3bcec1461024257806308f95a6214610266578063156b4ff61461029a5780631627540c146102c0575b600080fd5b61024a6108b0565b604080516001600160a01b039092168252519081900360200190f35b6102986004803603606081101561027c57600080fd5b506001600160a01b0381351690602081013590604001356108bf565b005b610298600480360360208110156102b057600080fd5b50356001600160a01b0316610b15565b610298600480360360208110156102d657600080fd5b50356001600160a01b0316610b93565b610298600480360360408110156102fc57600080fd5b506001600160a01b038135169060200135610bef565b6103806004803603602081101561032857600080fd5b810190602081018135600160201b81111561034257600080fd5b82018360208201111561035457600080fd5b803590602001918460208302840111600160201b8311171561037557600080fd5b509092509050610ef4565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103bc5781810151838201526020016103a4565b505050509050019250505060405180910390f35b6103f6600480360360208110156103e657600080fd5b50356001600160a01b0316610fa2565b604080519115158252519081900360200190f35b6103f6610fad565b6104386004803603602081101561042857600080fd5b50356001600160a01b03166110b8565b60408051938452602084019290925282820152519081900360600190f35b6102986004803603602081101561046c57600080fd5b50356110d4565b61024a6111bc565b6104a16004803603602081101561049157600080fd5b50356001600160a01b03166111cb565b60408051918252519081900360200190f35b610298600480360360208110156104c957600080fd5b810190602081018135600160201b8111156104e357600080fd5b8201836020820111156104f557600080fd5b803590602001918460208302840111600160201b8311171561051657600080fd5b5090925090506111df565b61024a6004803603602081101561053757600080fd5b503561128f565b6102986004803603602081101561055457600080fd5b810190602081018135600160201b81111561056e57600080fd5b82018360208201111561058057600080fd5b803590602001918460208302840111600160201b831117156105a157600080fd5b5090925090506112aa565b6104a1611455565b610298600480360360608110156105ca57600080fd5b506001600160a01b038135169060208101359060400135611462565b6103806115d0565b6102986115e1565b6102986117a5565b610380611861565b6106326004803603604081101561061c57600080fd5b506001600160a01b038135169060200135611b33565b6040805192835290151560208301528051918290030190f35b61024a611c5b565b6104a16004803603608081101561066957600080fd5b506001600160a01b0381351690602081013590604081013590606001351515611c6a565b610298600480360360208110156106a357600080fd5b50356001600160a01b0316611d38565b61024a600480360360208110156106c957600080fd5b5035611f62565b6104a1600480360360208110156106e657600080fd5b50356001600160a01b0316611f89565b6104a16004803603602081101561070c57600080fd5b50356001600160a01b0316611f9b565b6107526004803603606081101561073257600080fd5b506001600160a01b03813581169160208101359160409091013516611fa6565b6040805192835260208301919091528051918290030190f35b6106326004803603602081101561078157600080fd5b50356001600160a01b03166125d1565b610298600480360360208110156107a757600080fd5b50356001600160a01b03166125e7565b610752600480360360208110156107cd57600080fd5b50356001600160a01b03166128aa565b6104a1600480360360208110156107f357600080fd5b50356001600160a01b0316612a29565b6104a16004803603604081101561081957600080fd5b506001600160a01b038135169060200135612a3b565b6104a1612ae5565b6104a16004803603602081101561084d57600080fd5b50356001600160a01b0316612aeb565b6104a16004803603604081101561087357600080fd5b50803590602001351515612af6565b6102986004803603602081101561089857600080fd5b50356001600160a01b0316612b02565b6103f6612b3a565b6002546001600160a01b031681565b6108c7612ca0565b6108d082612cf9565b635045524960e01b8214610a545760006108f86108eb612d58565b839063ffffffff612dff16565b90506000610904612e1b565b60408051631167f01160e31b81526001600160a01b0388811660048301528251931692638b3f808892602480840193919291829003018186803b15801561094a57600080fd5b505afa15801561095e573d6000803e3d6000fd5b505050506040513d604081101561097457600080fd5b50519050806109ca576040805162461bcd60e51b815260206004820152601f60248201527f5573657220646f6573206e6f74206861766520616e7920646562742079657400604482015290519081900360640190fd5b6109d2612e39565b604080516304b1836b60e41b81526001600160a01b0388811660048301526024820186905260448201889052631c1554d160e21b606483015291519290911691634b1836b09160848082019260009290919082900301818387803b158015610a3957600080fd5b505af1158015610a4d573d6000803e3d6000fd5b5050505050505b600080600080610a6387612e60565b9350935093509350610a7481612ec8565b6000610a8588878787876000612f1b565b9050610a8f612e39565b6040805163da224edd60e01b81526001600160a01b038b81166004830152602482018590526000604483018190526064830181905260016084840152925193169263da224edd9260a480840193919291829003018186803b158015610af357600080fd5b505afa158015610b07573d6000803e3d6000fd5b505050505050505050505050565b610b1d613120565b610b2681613169565b610b2e613346565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b81526004018082151515158152602001915050600060405180830381600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b5050505050565b610b9b613120565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610bf7612ca0565b610c0081612cf9565b635045524960e01b811415610c465760405162461bcd60e51b8152600401808060200182810382526024815260200180615f2b6024913960400191505060405180910390fd5b600080600080610c5586612e60565b9350935093509350610c6681612ec8565b60008311610cbb576040805162461bcd60e51b815260206004820152601f60248201527f5573657220646f6573206e6f74206861766520616e7920646562742079657400604482015290519081900360640190fd5b6000610cc5612e39565b6001600160a01b0316637a84b61788631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015610d2957600080fd5b505afa158015610d3d573d6000803e3d6000fd5b505050506040513d6020811015610d5357600080fd5b50519050600080610d668987858b61335d565b91509150600082118015610d7a5750600081115b610db55760405162461bcd60e51b815260040180806020018281038252602a815260200180615f01602a913960400191505060405180910390fd5b610dbd612e39565b604080516304b1836b60e41b81526001600160a01b038c8116600483015260248201859052604482018c9052631c1554d160e21b606483015291519290911691634b1836b09160848082019260009290919082900301818387803b158015610e2457600080fd5b505af1158015610e38573d6000803e3d6000fd5b50505050610e4f828861356a90919063ffffffff16565b96506000610e628a848a8a8a6000612f1b565b9050610e6c612e39565b6040805163da224edd60e01b81526001600160a01b038d81166004830152602482018590526000604483018190526064830181905260016084840152925193169263da224edd9260a480840193919291829003018186803b158015610ed057600080fd5b505afa158015610ee4573d6000803e3d6000fd5b5050505050505050505050505050565b60408051828152602080840282010190915260609082908290828015610f24578160200160208202803883390190505b50905060005b82811015610f975760056000878784818110610f4257fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b0316828281518110610f7757fe5b6001600160a01b0390921660209283029190910190910152600101610f2a565b509150505b92915050565b6000610f9c826135c4565b60006060610fb9611861565b905060005b81518110156110ae576000828281518110610fd557fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561103d57600080fd5b505afa158015611051573d6000803e3d6000fd5b505050506040513d602081101561106757600080fd5b50516001600160a01b031614158061109457506000818152600360205260409020546001600160a01b0316155b156110a557600093505050506110b5565b50600101610fbe565b5060019150505b90565b60008060006110c684612e60565b509196909550909350915050565b6110dc613120565b60006110e6613346565b9050806001600160a01b0316638376a7828360006040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561113757600080fd5b505af115801561114b573d6000803e3d6000fd5b5050604080516304bd11e560e01b81526001600482015290516001600160a01b03851693506304bd11e59250602480830192600092919082900301818387803b15801561119757600080fd5b505af11580156111ab573d6000803e3d6000fd5b505050506111b8826135ef565b5050565b6001546001600160a01b031681565b6000806111d7836138aa565b509392505050565b6111e7613120565b8060005b8181101561121f5761121784848381811061120257fe5b905060200201356001600160a01b0316613169565b6001016111eb565b50611228613346565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b81526004018082151515158152602001915050600060405180830381600087803b15801561127257600080fd5b505af1158015611286573d6000803e3d6000fd5b50505050505050565b6005602052600090815260409020546001600160a01b031681565b6112b2613120565b8060006112bd613346565b90506060826040519080825280602002602001820160405280156112eb578160200160208202803883390190505b509050816001600160a01b0316639f98fb498686846040518463ffffffff1660e01b815260040180806020018060200183810383528686828181526020019250602002808284376000838201819052601f909101601f1916909201858103845286518152865160209182019382890193509102908190849084905b8381101561137e578181015183820152602001611366565b5050505090500195505050505050600060405180830381600087803b1580156113a657600080fd5b505af11580156113ba573d6000803e3d6000fd5b5050604080516304bd11e560e01b81526001600482015290516001600160a01b03861693506304bd11e59250602480830192600092919082900301818387803b15801561140657600080fd5b505af115801561141a573d6000803e3d6000fd5b506000925050505b8381101561144d5761144586868381811061143957fe5b905060200201356135ef565b600101611422565b505050505050565b6524b9b9bab2b960d11b81565b61146a612ca0565b61147382612cf9565b60006114828483600080613a12565b9050635045524960e01b83141561151c5761149b612e39565b6040805163da224edd60e01b81526001600160a01b038781166004830152602482018590526000604483018190526064830181905260848301819052925193169263da224edd9260a480840193919291829003018186803b1580156114ff57600080fd5b505afa158015611513573d6000803e3d6000fd5b505050506115ca565b611524612e39565b6001600160a01b031663b23e50538561154b61153e612d58565b869063ffffffff612dff16565b86631c1554d160e21b6040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001848152602001838152602001828152602001945050505050600060405180830381600087803b1580156115b157600080fd5b505af11580156115c5573d6000803e3d6000fd5b505050505b50505050565b60606115dc6000613d13565b905090565b60606115eb611861565b905060005b81518110156111b857600082828151811061160757fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156116bd5781810151838201526020016116a5565b50505050905090810190601f1680156116ea5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561170857600080fd5b505afa15801561171c573d6000803e3d6000fd5b505050506040513d602081101561173257600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016115f0565b6001546001600160a01b031633146117ee5760405162461bcd60e51b8152600401808060200182810382526035815260200180615e1f6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60608061186c613df0565b60408051600f808252610200820190925291925060609190602082016101e0803883390190505090506a5065726946696e616e636560a81b816000815181106118b157fe5b6020026020010181815250506822bc31b430b733b2b960b91b816001815181106118d757fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061190157fe5b6020026020010181815250506f5065726946696e616e6365537461746560801b8160038151811061192e57fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061195257fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b8160058151811061198057fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b816006815181106119ac57fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1c1554d1606a1b816007815181106119dc57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600881518110611a0757fe5b602002602001018181525050705065726946696e616e6365457363726f7760781b81600981518110611a3557fe5b6020026020010181815250506b4c69717569646174696f6e7360a01b81600a81518110611a5e57fe5b6020026020010181815250506844656274436163686560b81b81600b81518110611a8457fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600c81518110611ab257fe5b6020026020010181815250507822bc3a32b93730b62a37b5b2b729ba30b5b2a6b0b730b3b2b960391b81600d81518110611ae857fe5b6020026020010181815250507021b937b9b9a1b430b4b726b0b730b3b2b960791b81600e81518110611b1657fe5b602002602001018181525050611b2c8282613e41565b9250505090565b600080600080611b4a86635045524960e01b613ef6565b92505091506000611b69611b5c612d58565b849063ffffffff612dff16565b90506000611b75612e39565b6001600160a01b0316637a84b61789635045524960e01b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015611bd957600080fd5b505afa158015611bed573d6000803e3d6000fd5b505050506040513d6020811015611c0357600080fd5b505190506000818311611c17576000611c27565b611c27838363ffffffff6141fa16565b9050878110611c395760009650611c4c565b611c49888263ffffffff6141fa16565b96505b83955050505050509250929050565b6000546001600160a01b031681565b6000806000611c8087631c1554d160e21b613ef6565b9250509150611c8e81612ec8565b6000611c98612e39565b60408051637036383d60e11b81526001600160a01b038b8116600483015260248201879052604482018b9052606482018a905288151560848301529151929091169163e06c707a9160a480820192602092909190829003018186803b158015611d0057600080fd5b505afa158015611d14573d6000803e3d6000fd5b505050506040513d6020811015611d2a57600080fd5b505198975050505050505050565b611d40612ca0565b600080611d5483631c1554d160e21b613ef6565b92505091506000611d63612e39565b6001600160a01b0316637a84b61785631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015611dc757600080fd5b505afa158015611ddb573d6000803e3d6000fd5b505050506040513d6020811015611df157600080fd5b50519050600080611e00614257565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015611e4957600080fd5b505afa158015611e5d573d6000803e3d6000fd5b505050506040513d6040811015611e7357600080fd5b50805160209091015190925090506000611e95611e8f88614272565b846143d7565b9050611ea88580611ea35750825b612ec8565b600080611eb68887856143e9565b91509150611ec8898360016000613a12565b50611ed1612e39565b6001600160a01b031663adba5c688a83631c1554d160e21b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015611f3f57600080fd5b505af1158015611f53573d6000803e3d6000fd5b50505050505050505050505050565b60048181548110611f6f57fe5b6000918252602090912001546001600160a01b0316905081565b6000611f94826145f2565b5092915050565b6000610f9c82614272565b600080611fb1612ca0565b611fb961470b565b6001600160a01b031663d6f32e0684631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561201d57600080fd5b505afa158015612031573d6000803e3d6000fd5b505050506040513d602081101561204757600080fd5b50511561209b576040805162461bcd60e51b815260206004820152601860248201527f70555344206e6565647320746f20626520736574746c65640000000000000000604482015290519081900360640190fd5b6120a3614722565b6001600160a01b031663c49e80a6866040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156120f857600080fd5b505afa15801561210c573d6000803e3d6000fd5b505050506040513d602081101561212257600080fd5b5051612175576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e74206e6f74206f70656e20666f72206c69717569646174696f6e604482015290519081900360640190fd5b631c1554d160e21b60005260056020908152600080516020615ee183398151915254604080516370a0823160e01b81526001600160a01b0387811660048301529151889492909316926370a0823192602480840193919291829003018186803b1580156121e157600080fd5b505afa1580156121f5573d6000803e3d6000fd5b505050506040513d602081101561220b57600080fd5b50511015612252576040805162461bcd60e51b815260206004820152600f60248201526e139bdd08195b9bdd59da081c1554d1608a1b604482015290519081900360640190fd5b600061225c614722565b6001600160a01b03166323f5589a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561229457600080fd5b505afa1580156122a8573d6000803e3d6000fd5b505050506040513d60208110156122be57600080fd5b50519050600080806122d789631c1554d160e21b613ef6565b9250925092506000806122e8614257565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561233157600080fd5b505afa158015612345573d6000803e3d6000fd5b505050506040513d604081101561235b57600080fd5b50805160209091015190925090506123798380611ea3575081612ec8565b60006123848c614272565b90506000612390614722565b6001600160a01b0316630ac045d5886123a985886143d7565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156123e457600080fd5b505afa1580156123f8573d6000803e3d6000fd5b505050506040513d602081101561240e57600080fd5b505190508b811061241f578b612421565b805b9850600061242f8a8661473c565b90506124c16124b48a73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561247c57600080fd5b505af4158015612490573d6000803e3d6000fd5b505050506040513d60208110156124a657600080fd5b50519063ffffffff61356a16565b829063ffffffff61474e16565b9a50828b111561253257829a5061252f61252961251c8b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561247c57600080fd5b859063ffffffff61477816565b866143d7565b99505b61253f8e8d8c8b8b6147a2565b50818a14156125c057612550614722565b6001600160a01b031663974e9e7f8f6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b1580156125a757600080fd5b505af11580156125bb573d6000803e3d6000fd5b505050505b505050505050505050935093915050565b6000806125dd836145f2565b915091505b915091565b6125ef612ca0565b6125fd816000600180613a12565b506060612608612e39565b6001600160a01b031663273cbaa06040518163ffffffff1660e01b815260040160006040518083038186803b15801561264057600080fd5b505afa158015612654573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561267d57600080fd5b8101908080516040519392919084600160201b82111561269c57600080fd5b9083019060208201858111156126b157600080fd5b82518660208202830111600160201b821117156126cd57600080fd5b82525081516020918201928201910280838360005b838110156126fa5781810151838201526020016126e2565b50505050905001604052505050905060008090505b81518110156128a5576000612722612e39565b6001600160a01b031663ad47ffc58585858151811061273d57fe5b602002602001015186868151811061275157fe5b60200260200101516040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060206040518083038186803b1580156127ad57600080fd5b505afa1580156127c1573d6000803e3d6000fd5b505050506040513d60208110156127d757600080fd5b50519050806127e6575061289d565b6127ee612e39565b6001600160a01b031663b23e5053858386868151811061280a57fe5b602002602001015187878151811061281e57fe5b60200260200101516040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001848152602001838152602001828152602001945050505050600060405180830381600087803b15801561288357600080fd5b505af1158015612897573d6000803e3d6000fd5b50505050505b60010161270f565b505050565b6000806000806128c185631c1554d160e21b613ef6565b925050915060006128d0612e39565b6001600160a01b0316637a84b61787631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561293457600080fd5b505afa158015612948573d6000803e3d6000fd5b505050506040513d602081101561295e57600080fd5b5051905060008061296d614257565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156129b657600080fd5b505afa1580156129ca573d6000803e3d6000fd5b505050506040513d60408110156129e057600080fd5b508051602090910151909250905060006129fc611e8f8a614272565b9050612a0e8580611ea3575082612ec8565b612a198685836143e9565b909a909950975050505050505050565b60066020526000908152604090205481565b600080612a46612e1b565b60408051631167f01160e31b81526001600160a01b038781166004830152825193945060009390851692638b3f80889260248082019391829003018186803b158015612a9157600080fd5b505afa158015612aa5573d6000803e3d6000fd5b505050506040513d6040811015612abb57600080fd5b5051905080612acf57600092505050610f9c565b612ad98585613ef6565b50909695505050505050565b60045490565b6000610f9c82614a69565b60006111d78383614b4d565b612b0a612ca0565b600080600080612b1985612e60565b9350935093509350612b2a81612ec8565b61144d8560008686866001612f1b565b6000612b44614257565b6001600160a01b031663c8e5bbd5612b5c6001613d13565b6040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612bab578181015183820152602001612b93565b505050509050019250505060006040518083038186803b158015612bce57600080fd5b505afa158015612be2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015612c0b57600080fd5b8101908080516040519392919084600160201b821115612c2a57600080fd5b908301906020820185811115612c3f57600080fd5b82518660208202830111600160201b82111715612c5b57600080fd5b82525081516020918201928201910280838360005b83811015612c88578181015183820152602001612c70565b50505050919091016040525060200151949350505050565b612ca8614ef2565b6001600160a01b0316336001600160a01b031614612cf75760405162461bcd60e51b815260040180806020018281038252603d815260200180615e54603d913960400191505060405180910390fd5b565b631c1554d160e21b811415612d55576040805162461bcd60e51b815260206004820152601860248201527f70555344206973206e6f74207374616b696e6720636f696e0000000000000000604482015290519081900360640190fd5b50565b6000612d62614f0b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612dce57600080fd5b505afa158015612de2573d6000803e3d6000fd5b505050506040513d6020811015612df857600080fd5b5051905090565b6000612e148383670de0b6b3a7640000614f28565b9392505050565b60006115dc6f5065726946696e616e6365537461746560801b614f60565b60006115dc7822bc3a32b93730b62a37b5b2b729ba30b5b2a6b0b730b3b2b960391b614f60565b600080600080612e7785631c1554d160e21b613ef6565b91945092509050600080612e8a876138aa565b915091508195508280612e9a5750805b9250858510612eac5760009550612ebf565b612ebc868663ffffffff6141fa16565b95505b50509193509193565b8015612d55576040805162461bcd60e51b815260206004820152601f60248201527f412070796e7468206f722050455249207261746520697320696e76616c696400604482015290519081900360640190fd5b600081612f6f5784861115612f6a576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b612f73565b8495505b612f7f8787868661503d565b612f888761551c565b631c1554d160e21b60009081526005602052600080516020615ee1833981519152546040805163219e412d60e21b81526001600160a01b038b81166004830152602482018b90529151919092169263867904b4926044808201939182900301818387803b158015612ff857600080fd5b505af115801561300c573d6000803e3d6000fd5b50505050613018613346565b6001600160a01b0316638376a782631c1554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561307257600080fd5b505af4158015613086573d6000803e3d6000fd5b505050506040513d602081101561309c57600080fd5b5051604080516001600160e01b031960e086901b1681526004810193909352602483019190915251604480830192600092919082900301818387803b1580156130e457600080fd5b505af11580156130f8573d6000803e3d6000fd5b50505050613105876155ce565b613115848763ffffffff61356a16565b979650505050505050565b6000546001600160a01b03163314612cf75760405162461bcd60e51b815260040180806020018281038252602f815260200180615e91602f913960400191505060405180910390fd5b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b1580156131a457600080fd5b505afa1580156131b8573d6000803e3d6000fd5b505050506040513d60208110156131ce57600080fd5b50516000818152600560205260409020549091506001600160a01b03161561322c576040805162461bcd60e51b815260206004820152600c60248201526b50796e74682065786973747360a01b604482015290519081900360640190fd5b6001600160a01b03821660009081526006602052604090205415613297576040805162461bcd60e51b815260206004820152601c60248201527f50796e7468206164647265737320616c72656164792065786973747300000000604482015290519081900360640190fd5b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0384166001600160a01b03199182168117909255600083815260056020908152604080832080549094168517909355838252600681529082902084905581518481529081019290925280517fe82414a85733a2b51473d0ab66a73f2af64f044531104dc04ca01db8c9c5f5cf9281900390910190a15050565b60006115dc6844656274436163686560b81b614f60565b600080600061336a612d58565b905060006133766156c6565b9050600061339a8361338e8a8563ffffffff61474e16565b9063ffffffff61477816565b90508087106133b3575060009350839250613561915050565b6134466134368373__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156133fe57600080fd5b505af4158015613412573d6000803e3d6000fd5b505050506040513d602081101561342857600080fd5b50519063ffffffff6141fa16565b61338e838a63ffffffff6141fa16565b93506000613452612e39565b6001600160a01b031663b12e4410886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561349557600080fd5b505afa1580156134a9573d6000803e3d6000fd5b505050506040513d60208110156134bf57600080fd5b5051604080516370a0823160e01b81526001600160a01b038d81166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561350b57600080fd5b505afa15801561351f573d6000803e3d6000fd5b505050506040513d602081101561353557600080fd5b505190508481106135465784613548565b805b945061355a858563ffffffff61474e16565b9550505050505b94509492505050565b600082820183811015612e14576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006135e66135d1615741565b6135da84614a69565b9063ffffffff61356a16565b42101592915050565b6000818152600560205260409020546001600160a01b031680613650576040805162461bcd60e51b8152602060048201526014602482015273141e5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561368957600080fd5b505afa15801561369d573d6000803e3d6000fd5b505050506040513d60208110156136b357600080fd5b5051156136fd576040805162461bcd60e51b815260206004820152601360248201527250796e746820737570706c792065786973747360681b604482015290519081900360640190fd5b631c1554d160e21b82141561374f576040805162461bcd60e51b8152602060048201526013602482015272086c2dcdcdee840e4cadadeecca40e0f2dce8d606b1b604482015290519081900360640190fd5b60005b60045481101561383657816001600160a01b03166004828154811061377357fe5b6000918252602090912001546001600160a01b0316141561382e576004818154811061379b57fe5b600091825260209091200180546001600160a01b03191690556004805460001981019081106137c657fe5b600091825260209091200154600480546001600160a01b0390921691839081106137ec57fe5b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556004805490613828906000198301615de1565b50613836565b600101613752565b506001600160a01b0381166000818152600660209081526040808320839055858352600582529182902080546001600160a01b031916905581518581529081019290925280517f1f2a4e9868db18b9d103e44efacb2690000d9d78bd600bf5f24757e13f0f891b9281900390910190a15050565b6000806000806138b8614257565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561390157600080fd5b505afa158015613915573d6000803e3d6000fd5b505050506040513d604081101561392b57600080fd5b50805160209091015190925090506000613947611e8f87614272565b90506000613953612e39565b6001600160a01b0316637a84b61788631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156139b757600080fd5b505afa1580156139cb573d6000803e3d6000fd5b505050506040513d60208110156139e157600080fd5b5051905060006139f7838363ffffffff61356a16565b9050613a046124b4612d58565b965092945050505050915091565b600082613bc557613a22856135c4565b613a73576040805162461bcd60e51b815260206004820152601e60248201527f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000604482015290519081900360640190fd5b600080613a7e61470b565b6001600160a01b0316631b16802c88631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015613ae457600080fd5b505af1158015613af8573d6000803e3d6000fd5b505050506040513d6060811015613b0e57600080fd5b50602081015160409091015190925090508015613bc257613b2d61470b565b60408051630984d1f960e31b81526001600160a01b038a81166004830152631c1554d160e21b6024830152604482018a90526064820186905291519290911691634c268fc891608480820192602092909190829003018186803b158015613b9357600080fd5b505afa158015613ba7573d6000803e3d6000fd5b505050506040513d6020811015613bbd57600080fd5b505195505b50505b6000806000613bdb88631c1554d160e21b613ef6565b925092509250600080613bed8a6138aa565b91509150613c018380611ea3575081612ec8565b60008511613c4b576040805162461bcd60e51b81526020600482015260126024820152714e6f206465627420746f20666f726769766560701b604482015290519081900360640190fd5b8615613c55578498505b6000613c648b8c8c89896147a2565b9050613c76868b63ffffffff6141fa16565b9650808610158015613c885750828711155b15613d0557613c95614722565b6001600160a01b031663974e9e7f8c6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015613cec57600080fd5b505af1158015613d00573d6000803e3d6000fd5b505050505b505050505050949350505050565b60608082613d22576000613d25565b60015b60ff1660048054905001604051908082528060200260200182016040528015613d58578160200160208202803883390190505b50905060005b600454811015613dbf576006600060048381548110613d7957fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548251839083908110613dac57fe5b6020908102919091010152600101613d5e565b508215610f9c576004548151635045524960e01b9183918110613dde57fe5b60200260200101818152505092915050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110613e3257fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613e71578160200160208202803883390190505b50905060005b8351811015613eb357838181518110613e8c57fe5b6020026020010151828281518110613ea057fe5b6020908102919091010152600101613e77565b5060005b8251811015611f9457828181518110613ecc57fe5b6020026020010151828286510181518110613ee357fe5b6020908102919091010152600101613eb7565b600080600080613f04612e1b565b9050600080826001600160a01b0316638b3f8088896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050604080518083038186803b158015613f5e57600080fd5b505afa158015613f72573d6000803e3d6000fd5b505050506040513d6040811015613f8857600080fd5b5080516020909101519092509050613fa1876001614b4d565b909550935081613fb85750600094506141f3915050565b6000836001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015613ff357600080fd5b505afa158015614007573d6000803e3d6000fd5b505050506040513d602081101561401d57600080fd5b5051604080516308d95cd560e01b81526004810185905290519192506000916001600160a01b038716916308d95cd5916024808301926020929190829003018186803b15801561406c57600080fd5b505afa158015614080573d6000803e3d6000fd5b505050506040513d602081101561409657600080fd5b5051905060008215806140a7575081155b156140b45750600061413c565b6141398561412d84896001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b1580156140f557600080fd5b505afa158015614109573d6000803e3d6000fd5b505050506040513d602081101561411f57600080fd5b50519063ffffffff6157ba16565b9063ffffffff6157d316565b90505b6141446157ec565b6001600160a01b031663c8207cc48c8a6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156141a157600080fd5b505afa1580156141b5573d6000803e3d6000fd5b505050506040513d60208110156141cb57600080fd5b5051975060006141de8261412d8b61580b565b90506141e981615821565b9950505050505050505b9250925092565b600082821115614251576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006115dc6c45786368616e6765526174657360981b614f60565b60008061427d614ef2565b6001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156142d257600080fd5b505afa1580156142e6573d6000803e3d6000fd5b505050506040513d60208110156142fc57600080fd5b50519050600061430a615843565b6001600160a01b0316146143b4576143b1614323615843565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561437857600080fd5b505afa15801561438c573d6000803e3d6000fd5b505050506040513d60208110156143a257600080fd5b5051829063ffffffff61356a16565b90505b60006143be615862565b6001600160a01b031614610f9c57612e14614323615862565b6000612e14838363ffffffff61587e16565b60008060006143f6612d58565b905060006144026156c6565b90506000614426614419888863ffffffff61356a16565b899063ffffffff61477816565b9050828111156144f757600061448d61448061251c8573__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156133fe57600080fd5b889063ffffffff61474e16565b905080881161449d5760006144ad565b6144ad888263ffffffff6141fa16565b94506144ef6144e2856144d6886144ca8c8e63ffffffff61356a16565b9063ffffffff6141fa16565b9063ffffffff61474e16565b8a9063ffffffff6141fa16565b9550506145e7565b600061450d8961338e8a8763ffffffff61474e16565b9050828111614563576040805162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c726561647920636c61696d61626c6500000000604482015290519081900360640190fd5b6145d16145ae8473__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156133fe57600080fd5b61338e6145c18c8763ffffffff61474e16565b6144ca8c8963ffffffff61474e16565b95506145e3868563ffffffff61477816565b9450505b505050935093915050565b600080600061460084614272565b9050600061460c612e39565b6001600160a01b0316637a84b61786635045524960e01b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561467057600080fd5b505afa158015614684573d6000803e3d6000fd5b505050506040513d602081101561469a57600080fd5b505190506000806146b287635045524960e01b613ef6565b92505091508360001480156146c5575082155b156146d9576000955093506125e292505050565b60006146eb858563ffffffff61356a16565b90506146fd838263ffffffff61477816565b965090945050505050915091565b60006115dc6822bc31b430b733b2b960b91b614f60565b60006115dc6b4c69717569646174696f6e7360a01b614f60565b6000612e14838363ffffffff612dff16565b6000670de0b6b3a7640000614769848463ffffffff61589316565b8161477057fe5b049392505050565b6000612e148261479685670de0b6b3a764000063ffffffff61589316565b9063ffffffff6158ec16565b6000828411156147f9576040805162461bcd60e51b815260206004820152601d60248201527f547279696e6720746f206275726e206d6f7265207468616e2064656274000000604482015290519081900360640190fd5b61480586858585615956565b631c1554d160e21b600090815260056020908152600080516020615ee183398151915254604080516370a0823160e01b81526001600160a01b038a81166004830152915191909216926370a082319260248082019391829003018186803b15801561486f57600080fd5b505afa158015614883573d6000803e3d6000fd5b505050506040513d602081101561489957600080fd5b5051905060008582106148bb576148b6828763ffffffff6141fa16565b6148cb565b6148cb868363ffffffff6141fa16565b9050600a81106148db57856148dd565b815b631c1554d160e21b60009081526005602052600080516020615ee18339815191525460408051632770a7eb60e21b81526001600160a01b038c81166004830152602482018690529151949a50911692639dc29fac9260448084019391929182900301818387803b15801561495057600080fd5b505af1158015614964573d6000803e3d6000fd5b50505050614970613346565b6001600160a01b0316638376a782631c1554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156149ca57600080fd5b505af41580156149de573d6000803e3d6000fd5b505050506040513d60208110156149f457600080fd5b5051604080516001600160e01b031960e086901b1681526004810193909352602483019190915251604480830192600092919082900301818387803b158015614a3c57600080fd5b505af1158015614a50573d6000803e3d6000fd5b50505050614a5d886155ce565b50939695505050505050565b6000614a73614f0b565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015614b1b57600080fd5b505afa158015614b2f573d6000803e3d6000fd5b505050506040513d6020811015614b4557600080fd5b505192915050565b6000806000806000614b5d613346565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b158015614b9557600080fd5b505afa158015614ba9573d6000803e3d6000fd5b505050506040513d6080811015614bbf57600080fd5b508051604082015160609092015190945090925090508180614bde5750805b93506000614bea614257565b905086614e2e57600080614bfc615d44565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b8152600401604080518083038186803b158015614c3357600080fd5b505afa158015614c47573d6000803e3d6000fd5b505050506040513d6040811015614c5d57600080fd5b5080516020909101519092509050614c7b868363ffffffff61356a16565b95508680614c865750805b9650614d04614c93615d63565b6001600160a01b03166357b219206040518163ffffffff1660e01b815260040160206040518083038186803b158015614ccb57600080fd5b505afa158015614cdf573d6000803e3d6000fd5b505050506040513d6020811015614cf557600080fd5b5051879063ffffffff61356a16565b9550600080846001600160a01b0316630c71cd23630e08aa8960e31b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015614d5357600080fd5b505afa158015614d67573d6000803e3d6000fd5b505050506040513d6040811015614d7d57600080fd5b50805160209091015190925090506000614e0983614d99615d84565b6001600160a01b03166357b219206040518163ffffffff1660e01b815260040160206040518083038186803b158015614dd157600080fd5b505afa158015614de5573d6000803e3d6000fd5b505050506040513d6020811015614dfb57600080fd5b50519063ffffffff61587e16565b9050614e1b898263ffffffff61356a16565b98508980614e265750815b995050505050505b631c1554d160e21b881415614e495750919350614eeb915050565b600080826001600160a01b0316630c71cd238b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015614e8f57600080fd5b505afa158015614ea3573d6000803e3d6000fd5b505050506040513d6040811015614eb957600080fd5b5080516020909101519092509050614ed7868363ffffffff612dff16565b8780614ee05750815b975097505050505050505b9250929050565b60006115dc6a5065726946696e616e636560a81b614f60565b60006115dc6e466c657869626c6553746f7261676560881b614f60565b600080614f428461479687600a870263ffffffff61589316565b90506005600a825b0610614f5457600a015b600a9004949350505050565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611f945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015615002578181015183820152602001614fea565b50505050905090810190601f16801561502f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000615047612e1b565b9050600061505b858463ffffffff61356a16565b9050600061506f868363ffffffff6157ba16565b905060006150bb8273__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156133fe57600080fd5b905085156150ea576150e3836150d7898963ffffffff61356a16565b9063ffffffff6157ba16565b915061513e565b836001600160a01b0316631bfba5956040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561512557600080fd5b505af1158015615139573d6000803e3d6000fd5b505050505b836001600160a01b031663a764eb4589846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561519e57600080fd5b505af11580156151b2573d6000803e3d6000fd5b505050506151be6157ec565b6001600160a01b031663f2de2dee89866001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b15801561520657600080fd5b505afa15801561521a573d6000803e3d6000fd5b505050506040513d602081101561523057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561528057600080fd5b505af1158015615294573d6000803e3d6000fd5b505050506000846001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b1580156152d357600080fd5b505afa1580156152e7573d6000803e3d6000fd5b505050506040513d60208110156152fd57600080fd5b505111801561536f5750836001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b15801561534057600080fd5b505afa158015615354573d6000803e3d6000fd5b505050506040513d602081101561536a57600080fd5b505115155b1561544b57836001600160a01b0316633d31e97b6153f883876001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b1580156153c057600080fd5b505afa1580156153d4573d6000803e3d6000fd5b505050506040513d60208110156153ea57600080fd5b50519063ffffffff6157d316565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561542e57600080fd5b505af1158015615442573d6000803e3d6000fd5b505050506115c5565b836001600160a01b0316633d31e97b73__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b15801561549e57600080fd5b505af41580156154b2573d6000803e3d6000fd5b505050506040513d60208110156154c857600080fd5b5051604080516001600160e01b031960e085901b168152600481019290925251602480830192600092919082900301818387803b15801561550857600080fd5b505af1158015610b07573d6000803e3d6000fd5b615524614f0b565b604080516d1b185cdd125cdcdd59515d995b9d60921b6020808301919091526bffffffffffffffffffffffff19606086901b1682840152825160348184030181526054830180855281519190920120631d5b277f60e01b9091526524b9b9bab2b960d11b6058830152607882015242609882015290516001600160a01b039290921691631d5b277f9160b88082019260009290919082900301818387803b158015610b7857600080fd5b6000806155d9612e1b565b60408051631167f01160e31b81526001600160a01b0386811660048301528251931692638b3f808892602480840193919291829003018186803b15801561561f57600080fd5b505afa158015615633573d6000803e3d6000fd5b505050506040513d604081101561564957600080fd5b508051602090910151909250905061565f615da1565b6001600160a01b031663866452748484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801561127257600080fd5b60006156d0614f0b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7165787465726e616c546f6b656e51756f746160701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612dce57600080fd5b600061574b614f0b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612dce57600080fd5b6000612e1483836b033b2e3c9fd0803ce8000000614f28565b6000612e1483836b033b2e3c9fd0803ce8000000615db6565b60006115dc7021b937b9b9a1b430b4b726b0b730b3b2b960791b614f60565b6000610f9c82633b9aca0063ffffffff61589316565b60006305f5e10082046005600a82061061583957600a015b600a900492915050565b60006115dc705065726946696e616e6365457363726f7760781b614f60565b60006115dc6d2932bbb0b93222b9b1b937bbab1960911b614f60565b6000612e148383670de0b6b3a7640000615db6565b6000826158a257506000610f9c565b828202828482816158af57fe5b0414612e145760405162461bcd60e51b8152600401808060200182810382526021815260200180615ec06021913960400191505060405180910390fd5b6000808211615942576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161594d57fe5b04949350505050565b6000615960612e1b565b90506000615974838663ffffffff6141fa16565b9050600081156159de576000615990878463ffffffff6157ba16565b90506159da8173__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b15801561247c57600080fd5b9150505b84861415615b1c576040805163a764eb4560e01b81526001600160a01b03898116600483015260006024830181905292519086169263a764eb45926044808201939182900301818387803b158015615a3557600080fd5b505af1158015615a49573d6000803e3d6000fd5b50505050826001600160a01b031663ba08f2996040518163ffffffff1660e01b8152600401600060405180830381600087803b158015615a8857600080fd5b505af1158015615a9c573d6000803e3d6000fd5b50505050615aa86157ec565b6001600160a01b03166340f68cdd886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015615aff57600080fd5b505af1158015615b13573d6000803e3d6000fd5b50505050615ca1565b6000615b2e868863ffffffff6141fa16565b90506000615b42828563ffffffff6157ba16565b9050846001600160a01b031663a764eb458a836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015615ba457600080fd5b505af1158015615bb8573d6000803e3d6000fd5b50505050615bc46157ec565b6001600160a01b031663f2de2dee8a876001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015615c0c57600080fd5b505afa158015615c20573d6000803e3d6000fd5b505050506040513d6020811015615c3657600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015615c8657600080fd5b505af1158015615c9a573d6000803e3d6000fd5b5050505050505b826001600160a01b0316633d31e97b615ced83866001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b1580156153c057600080fd5b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015615d2357600080fd5b505af1158015615d37573d6000803e3d6000fd5b5050505050505050505050565b60006115dc7021b7b63630ba32b930b626b0b730b3b2b960791b614f60565b60006115dc72115d1a195c90dbdb1b185d195c985b1c1554d1606a1b614f60565b60006115dc6e115d1a195c90dbdb1b185d195c985b608a1b614f60565b60006115dc66119959541bdbdb60ca1b614f60565b600080600a8304615dcd868663ffffffff61589316565b81615dd457fe5b0490506005600a82614f4a565b8154818355818111156128a5576000838152602090206128a59181019083016110b591905b80821115615e1a5760008155600101615e06565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704973737565723a204f6e6c7920746865207065726946696e616e636520636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77ab2931e6b2a3309efb1cd1e1ff687f87bc01e27560b68cf78de8eb3772ac922b4e6f20617661696c61626c652065787465726e616c20746f6b656e207374616b696e6720616d6f756e744f6e6c792065787465726e616c20746f6b656e20616c6c6f77656420746f207374616b65a265627a7a72315820426d5d79383b012dffc4d69150ff01af3bb3304d078c8a76e7bd4d0d94fe123864736f6c63430005100032",
			"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": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"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": "pynth",
							"type": "address"
						}
					],
					"name": "PynthAdded",
					"type": "event",
					"signature": "0xe82414a85733a2b51473d0ab66a73f2af64f044531104dc04ca01db8c9c5f5cf"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "PynthRemoved",
					"type": "event",
					"signature": "0x1f2a4e9868db18b9d103e44efacb2690000d9d78bd600bf5f24757e13f0f891b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x614d08f8"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPynth",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "addPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x156b4ff6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPynth[]",
							"name": "pynthsToAdd",
							"type": "address[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5543dadc"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "amountsToFitClaimable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "burnAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTokenAmountToUnstake",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbecf5ff8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anyPynthOrPERIRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf5adc4f5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availablePynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd99947de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "availablePynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9df95f9f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_burnAmount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6ac471c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "canBurnPynths",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2ae78fdb"
				},
				{
					"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": "collateralisationRatioAndAnyRatesInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae3bbbbb"
				},
				{
					"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": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_from",
							"type": "address"
						}
					],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb42652e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_additionalpUSD",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_additionalExToken",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_isIssue",
							"type": "bool"
						}
					],
					"name": "externalTokenQuota",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9288e704"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_from",
							"type": "address"
						}
					],
					"name": "fitToClaimable",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x94955cec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "getPynths",
					"outputs": [
						{
							"internalType": "contract IPynth[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1db63a33"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf0617e5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_issueAmount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x08f95a62"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "issuePynthsToMaxQuota",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x171af063"
				},
				{
					"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": "pusdAmount",
							"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": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55182ccb"
				},
				{
					"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": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57ad4663"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9a2f3ad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"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": "0x3b09280a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c29b0af"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6017c458"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "excludeEtherCollateral",
							"type": "bool"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalIssued",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf023e8db"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "balance",
							"type": "uint256"
						}
					],
					"name": "transferablePeriFinanceAndAnyRateIsInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8d542eb3"
				}
			],
			"source": {
				"keccak256": "0x141f539d7084f94afc741245f443fd298c6f0bd5c7a052e0f12ddb0bc88f51ad",
				"urls": [
					"bzz-raw://fb238a906d570fb65c695c7cc59dbb299ce53c4f696646b501fd117da55cee40",
					"dweb:/ipfs/QmZ7MzWUCFaz4ZKPYoAyusKyS1zsxe3pgKmxemyrFHZcVw"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Issuer.sol": "Issuer"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Issuer.sol": {
						"keccak256": "0x141f539d7084f94afc741245f443fd298c6f0bd5c7a052e0f12ddb0bc88f51ad",
						"urls": [
							"bzz-raw://fb238a906d570fb65c695c7cc59dbb299ce53c4f696646b501fd117da55cee40",
							"dweb:/ipfs/QmZ7MzWUCFaz4ZKPYoAyusKyS1zsxe3pgKmxemyrFHZcVw"
						]
					}
				},
				"version": 1
			}
		},
		"TradingRewards": {
			"bytecode": "608060405234801561001057600080fd5b506040516122173803806122178339818101604052606081101561003357600080fd5b5080516020820151604090920151600160005590919080836001600160a01b0381166100a6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506001546001600160a01b0316610152576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60048054610100600160a81b0319166101006001600160a01b039384160217905582166101c6576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b50600980546001600160a01b0319166001600160a01b039290921691909117905550612020806101f76000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063741853601161010f578063b225dbaa116100a2578063f32ffd6911610071578063f32ffd69146104e2578063f61f5df614610552578063f6b584791461057e578063fc9c99ac146105fe576101f0565b8063b225dbaa14610491578063ccb6e043146102c5578063ce7fccba146104ae578063dea021a5146104da576101f0565b806391b4ded9116100de57806391b4ded914610438578063937ffb8f146104405780639865fdb71461045d578063ae934a7a14610465576101f0565b806374185360146103c857806379ba5097146103d0578063899ffef4146103d85780638da5cb5b14610430576101f0565b80632af64bd31161018757806355aa41bf1161015657806355aa41bf1461037e5780635c975abb1461039b5780636fe4136b146103a3578063706848d2146103ab576101f0565b80632af64bd31461032257806338dfa8cf1461032a5780633dbf12fa1461035057806353a47bb714610376576101f0565b806316841952116101c3578063168419521461028957806316c38b3c146102a6578063175c5189146102c557806321cad774146102f6576101f0565b806304f3bcec146101f5578063056097ac14610219578063086146d2146102495780631627540c14610263575b600080fd5b6101fd610606565b604080516001600160a01b039092168252519081900360200190f35b6102476004803603604081101561022f57600080fd5b506001600160a01b038135811691602001351661061a565b005b6102516107c5565b60408051918252519081900360200190f35b6102476004803603602081101561027957600080fd5b50356001600160a01b03166107cc565b6102476004803603602081101561029f57600080fd5b5035610828565b610247600480360360208110156102bc57600080fd5b50351515610a51565b6102e2600480360360208110156102db57600080fd5b5035610acb565b604080519115158252519081900360200190f35b6102476004803603604081101561030c57600080fd5b50803590602001356001600160a01b0316610ae0565b6102e2610c0a565b6102476004803603602081101561034057600080fd5b50356001600160a01b0316610d1c565b6102476004803603602081101561036657600080fd5b50356001600160a01b0316610ed4565b6101fd610f8b565b6102516004803603602081101561039457600080fd5b5035610f9a565b6102e2610faf565b6101fd610fb8565b610251600480360360208110156103c157600080fd5b5035610fc7565b610247610fdc565b6102476111b9565b6103e0611275565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561041c578181015183820152602001610404565b505050509050019250505060405180910390f35b6101fd6112e6565b6102516112f5565b6102516004803603602081101561045657600080fd5b50356112fb565b610251611310565b6102476004803603604081101561047b57600080fd5b506001600160a01b0381351690602001356113ad565b610247600480360360208110156104a757600080fd5b503561151a565b610251600480360360408110156104c457600080fd5b506001600160a01b0381351690602001356115c7565b6101fd6115dc565b610247600480360360208110156104f857600080fd5b81019060208101813564010000000081111561051357600080fd5b82018360208201111561052557600080fd5b8035906020019184602083028401116401000000008311171561054757600080fd5b5090925090506115eb565b6102516004803603604081101561056857600080fd5b506001600160a01b0381351690602001356116c9565b6102516004803603604081101561059457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156105bf57600080fd5b8201836020820111156105d157600080fd5b803590602001918460208302840111640100000000831117156105f357600080fd5b5090925090506116f4565b610251611744565b60045461010090046001600160a01b031681565b61062261174a565b61062b81611795565b610633611805565b6001600160a01b0316826001600160a01b03161415610699576040805162461bcd60e51b815260206004820152601960248201527f4d7573742075736520616e6f746865722066756e6374696f6e00000000000000604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905183916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156106e457600080fd5b505afa1580156106f8573d6000803e3d6000fd5b505050506040513d602081101561070e57600080fd5b505190508061075b576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6107756001600160a01b038316848363ffffffff61181e16565b604080516001600160a01b0380871682528516602082015280820183905290517f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe69181900360600190a150505050565b6006545b90565b6107d461174a565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6009546001600160a01b03163314610887576040805162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206e6f7420706572696f6420636f6e74726f6c6c657200000000604482015290519081900360640190fd5b6000610891611805565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156108e657600080fd5b505afa1580156108fa573d6000803e3d6000fd5b505050506040513d602081101561091057600080fd5b505160075490915060009061092c90839063ffffffff61187016565b905080831115610983576040805162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742066726565207265776172647300000000000000604482015290519081900360640190fd5b60065460009081526008602052604090206002810184905560038101849055805460ff191660011781556007546109c0908563ffffffff6118cd16565b600755600654604080519182526020820186905280517ffa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f9281900390910190a1600654610a1490600163ffffffff6118cd16565b600681905560408051918252517f4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a2307329181900360200190a150505050565b610a5961174a565b60045460ff1615158115151415610a6f57610ac8565b6004805460ff1916821515179081905560ff1615610a8c57426003555b6004546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60009081526008602052604090205460ff1690565b610ae8611927565b6001600160a01b0316336001600160a01b031614610b4d576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015290519081900360640190fd5b60065460009081526008602090815260408083206001600160a01b03851684526004810190925290912054610b88908463ffffffff6118cd16565b6001600160a01b03831660009081526004830160205260409020556001810154610bb8908463ffffffff6118cd16565b600182015560065460408051858152602081019290925280516001600160a01b038516927f927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf86692908290030190a2505050565b60006060610c16611275565b905060005b8151811015610d13576000828281518110610c3257fe5b602090810291909101810151600081815260058352604090819020546004805483516321f8a72160e01b815291820185905292519395506001600160a01b0391821694610100909304909116926321f8a72192602480840193919291829003018186803b158015610ca257600080fd5b505afa158015610cb6573d6000803e3d6000fd5b505050506040513d6020811015610ccc57600080fd5b50516001600160a01b0316141580610cf957506000818152600560205260409020546001600160a01b0316155b15610d0a57600093505050506107c9565b50600101610c1b565b50600191505090565b610d2461174a565b610d2d81611795565b6000610d37611805565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d8c57600080fd5b505afa158015610da0573d6000803e3d6000fd5b505050506040513d6020811015610db657600080fd5b5051905080610e03576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6000610e1a6007548361187090919063ffffffff16565b905060008111610e68576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b610e8b8382610e75611805565b6001600160a01b0316919063ffffffff61181e16565b604080516001600160a01b03851681526020810183905281517f14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3929181900390910190a1505050565b610edc61174a565b6001600160a01b038116610f37576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b600980546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc9181900360200190a150565b6002546001600160a01b031681565b60009081526008602052604090206001015490565b60045460ff1681565b6000610fc2611805565b905090565b60009081526008602052604090206003015490565b6060610fe6611275565b905060005b81518110156111b557600082828151811061100257fe5b602002602001015190506000600460019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156110cd5781810151838201526020016110b5565b50505050905090810190601f1680156110fa5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b505160008381526005602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610feb565b5050565b6002546001600160a01b031633146112025760405162461bcd60e51b8152600401808060200182810382526035815260200180611f016035913960400191505060405180910390fd5b600154600254604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160028054600180546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600280825260608083018452926020830190803883390190505090506822bc31b430b733b2b960b91b816000815181106112af57fe5b6020026020010181815250506a5065726946696e616e636560a81b816001815181106112d757fe5b60200260200101818152505090565b6001546001600160a01b031681565b60035481565b60009081526008602052604090206002015490565b6000610fc2600754611320611805565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561137557600080fd5b505afa158015611389573d6000803e3d6000fd5b505050506040513d602081101561139f57600080fd5b50519063ffffffff61187016565b6113b561174a565b6113be82611795565b6006548110611414576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207265636f7665722066726f6d20616374697665000000000000604482015290519081900360640190fd5b60008181526008602052604090206003810154611478576040805162461bcd60e51b815260206004820152601f60248201527f4e6f207265776172647320617661696c61626c6520746f207265636f76657200604482015290519081900360640190fd5b600381015461148a8482610e75611805565b60075461149d908263ffffffff61187016565b6007556000838152600860209081526040808320805460ff1916815560018101849055600281018490556003019290925581516001600160a01b038716815290810183905280820185905290517f60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c9181900360600190a150505050565b600080546001019081905560045460ff16156115675760405162461bcd60e51b815260040180806020018281038252603c815260200180611f86603c913960400191505060405180910390fd5b611571338361193e565b60005481146111b5576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60006115d38383611a9d565b90505b92915050565b6009546001600160a01b031690565b600080546001019081905560045460ff16156116385760405162461bcd60e51b815260040180806020018281038252603c815260200180611f86603c913960400191505060405180910390fd5b60005b8281101561166d57600084848381811061165157fe5b905060200201359050611664338261193e565b5060010161163b565b5060005481146116c4576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b60009081526008602090815260408083206001600160a01b0394909416835260049093019052205490565b6000805b8281101561173c57600084848381811061170e57fe5b9050602002013590506117316117248783611a9d565b849063ffffffff6118cd16565b9250506001016116f8565b509392505050565b60075490565b6001546001600160a01b031633146117935760405162461bcd60e51b815260040180806020018281038252602f815260200180611f36602f913960400191505060405180910390fd5b565b6001600160a01b03811615806117b357506001600160a01b03811630145b15610ac8576040805162461bcd60e51b815260206004820152601760248201527f496e76616c6964207265636f7665722061646472657373000000000000000000604482015290519081900360640190fd5b6000610fc26a5065726946696e616e636560a81b611b41565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526116c4908490611c25565b6000828211156118c7576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156115d3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610fc26822bc31b430b733b2b960b91b611b41565b6000818152600860205260409020805460ff166119a2576040805162461bcd60e51b815260206004820152601760248201527f506572696f64206973206e6f742066696e616c697a6564000000000000000000604482015290519081900360640190fd5b60006119ae8484611a9d565b9050600081116119fc576040805162461bcd60e51b81526020600482015260146024820152734e6f207265776172647320617661696c61626c6560601b604482015290519081900360640190fd5b6001600160a01b03841660009081526004830160205260408120556003820154611a2c908263ffffffff61187016565b6003830155600754611a44908263ffffffff61187016565b600755611a548482610e75611805565b604080518281526020810185905281516001600160a01b038716927fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325928290030190a250505050565b600081815260086020526040812060038101541580611abe57506001810154155b80611acb5750805460ff16155b15611ada5760009150506115d6565b6001600160a01b038416600090815260048201602052604090205480611b05576000925050506115d6565b6000611b1e836001015483611de390919063ffffffff16565b9050611b37836002015482611e0d90919063ffffffff16565b9695505050505050565b600081815260056020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611c1e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611be3578181015183820152602001611bcb565b50505050905090810190601f168015611c105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b611c37826001600160a01b0316611e37565b611c88576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310611cc65780518252601f199092019160209182019101611ca7565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611d28576040519150601f19603f3d011682016040523d82523d6000602084013e611d2d565b606091505b509150915081611d84576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611ddd57808060200190516020811015611da057600080fd5b5051611ddd5760405162461bcd60e51b815260040180806020018281038252602a815260200180611fc2602a913960400191505060405180910390fd5b50505050565b60006115d382611e0185670de0b6b3a764000063ffffffff611e3d16565b9063ffffffff611e9616565b6000670de0b6b3a7640000611e28848463ffffffff611e3d16565b81611e2f57fe5b049392505050565b3b151590565b600082611e4c575060006115d6565b82820282848281611e5957fe5b04146115d35760405162461bcd60e51b8152600401808060200182810382526021815260200180611f656021913960400191505060405180910390fd5b6000808211611eec576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611ef757fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e7472616374206973207061757365645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820648089678729c75ecc01e4c92ddd74998e6ad1ff13f30b07390094079561700164736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "periodController",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "AssignedRewardTokensRecovered",
					"type": "event",
					"signature": "0x60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "ExchangeFeeRecorded",
					"type": "event",
					"signature": "0x927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf866"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "NewPeriodStarted",
					"type": "event",
					"signature": "0x4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a230732"
				},
				{
					"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": "newPeriodController",
							"type": "address"
						}
					],
					"name": "PeriodControllerChanged",
					"type": "event",
					"signature": "0xb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rewards",
							"type": "uint256"
						}
					],
					"name": "PeriodFinalizedWithRewards",
					"type": "event",
					"signature": "0xfa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "RewardsClaimed",
					"type": "event",
					"signature": "0xdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "TokensRecovered",
					"type": "event",
					"signature": "0x401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "UnassignedRewardTokensRecovered",
					"type": "event",
					"signature": "0x14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "claimRewardsForPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb225dbaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "periodIDs",
							"type": "uint256[]"
						}
					],
					"name": "claimRewardsForPeriods",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf32ffd69"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rewards",
							"type": "uint256"
						}
					],
					"name": "closeCurrentPeriodWithRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16841952"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getAvailableRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfc9c99ac"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getAvailableRewardsForAccountForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xce7fccba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "periodIDs",
							"type": "uint256[]"
						}
					],
					"name": "getAvailableRewardsForAccountForPeriods",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRewards",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf6b58479"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getCurrentPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x086146d2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodAvailableRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x706848d2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPeriodController",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdea021a5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodIsClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x175c5189"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodIsFinalized",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xccb6e043"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodRecordedFees",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55aa41bf"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodTotalRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x937ffb8f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRewardsToken",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6fe4136b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getUnaccountedFeesForAccountForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf61f5df6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getUnassignedRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9865fdb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"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": "_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": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "usdFeeAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "recordExchangeFeeForAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x21cad774"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "recoverAssignedRewardTokensAndDestroyPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xae934a7a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						}
					],
					"name": "recoverTokens",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x056097ac"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						}
					],
					"name": "recoverUnassignedRewardTokens",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x38dfa8cf"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "newPeriodController",
							"type": "address"
						}
					],
					"name": "setPeriodController",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3dbf12fa"
				}
			],
			"source": {
				"keccak256": "0xe98067caf905702603f1f87bc0907d74abc8e6088dd58e7d83a50dab0ac5e1e0",
				"urls": [
					"bzz-raw://6158f1fd0d4633c3c07eefddf9da6472ddb8f809f3c3972b6c7c767210beb928",
					"dweb:/ipfs/QmYCLLigtth3vCd8B9WuzEnbFQjvqfnMyySTeMDWbFfUzy"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TradingRewards.sol": "TradingRewards"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"TradingRewards.sol": {
						"keccak256": "0xe98067caf905702603f1f87bc0907d74abc8e6088dd58e7d83a50dab0ac5e1e0",
						"urls": [
							"bzz-raw://6158f1fd0d4633c3c07eefddf9da6472ddb8f809f3c3972b6c7c767210beb928",
							"dweb:/ipfs/QmYCLLigtth3vCd8B9WuzEnbFQjvqfnMyySTeMDWbFfUzy"
						]
					}
				},
				"version": 1
			}
		},
		"EscrowChecker": {
			"bytecode": "608060405234801561001057600080fd5b506040516103173803806103178339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b03199092169190911790556102b2806100656000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063449d0eb11461003b57806359bd89761461009a575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100be565b604051808261020080838360005b8381101561008757818101518382015260200161006f565b5050505090500191505060405180910390f35b6100a2610231565b604080516001600160a01b039092168252519081900360200190f35b6100c6610240565b6100ce610240565b6000805460408051631025b3b560e11b81526001600160a01b0387811660048301529151919092169163204b676a916024808301926020929190829003018186803b15801561011c57600080fd5b505afa158015610130573d6000803e3d6000fd5b505050506040513d602081101561014657600080fd5b5051905060005b818110156102285761015d61025f565b6000546040805163da7bd3e960e01b81526001600160a01b03898116600483015260248201869052825193169263da7bd3e992604480840193919291829003018186803b1580156101ad57600080fd5b505afa1580156101c1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060408110156101e657600080fd5b5080519091508460028402601081106101fb57fe5b6020020152806001602002015184836002026001016010811061021a57fe5b60200201525060010161014d565b50909392505050565b6000546001600160a01b031681565b6040518061020001604052806010906020820280388339509192915050565b6040518060400160405280600290602082028038833950919291505056fea265627a7a72315820adbe823bfde7f9f1072b8b9905b86d212826bfeeb11629cee00de345b0fb08cd64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract IPeriFinanceEscrow",
							"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": "periFinance_escrow",
					"outputs": [
						{
							"internalType": "contract IPeriFinanceEscrow",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59bd8976"
				}
			],
			"source": {
				"keccak256": "0x30aecc989dc5b5d530ec9e0f8186b16934d7b7117c6ce38dd5bbf4ab52e7e969",
				"urls": [
					"bzz-raw://6cd91f0a9d782b4621f4832cdfaa20eff856fee80e81bc29898f05177cb650c3",
					"dweb:/ipfs/QmWR2vcbpB7M8b9hdrRxHgrd6GzyKWthwQg8JfMNNkDwbd"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EscrowChecker.sol": "EscrowChecker"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EscrowChecker.sol": {
						"keccak256": "0x30aecc989dc5b5d530ec9e0f8186b16934d7b7117c6ce38dd5bbf4ab52e7e969",
						"urls": [
							"bzz-raw://6cd91f0a9d782b4621f4832cdfaa20eff856fee80e81bc29898f05177cb650c3",
							"dweb:/ipfs/QmWR2vcbpB7M8b9hdrRxHgrd6GzyKWthwQg8JfMNNkDwbd"
						]
					}
				},
				"version": 1
			}
		},
		"SupplySchedule": {
			"bytecode": "6080604052600060045534801561001557600080fd5b506040516110263803806110268339818101604052606081101561003857600080fd5b5080516020820151604090920151909190826001600160a01b0381166100a5576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060029190915560035550610f0f806101176000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80637e1b823f116100de578063be801f0111610097578063d12a701d11610071578063d12a701d14610310578063d3bd4bde14610318578063dbd3a6a714610320578063df5a9fc11461032857610173565b8063be801f01146102da578063c1b7ca11146102e2578063cc5c095c1461030857610173565b80637e1b823f1461027a5780637e7961d7146102825780638da5cb5b1461029f5780639bdd7ac7146102a7578063b3b2bcc0146102af578063badef30a146102d257610173565b806346b45af71161013057806346b45af7146101f05780634ae265211461020c5780634e070f501461022957806353a47bb71461024657806379ba50971461026a5780637c0605571461027257610173565b80631627540c146101785780631de40e49146101a057806322af2bab146101ba578063251330f1146101c257806325542064146101e057806346872a23146101e8575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b0316610330565b005b6101a861038c565b60408051918252519081900360200190f35b6101a8610397565b6101ca6103a4565b6040805160ff9092168252519081900360200190f35b6101a86103a9565b6101a86103b4565b6101f86103bb565b604080519115158252519081900360200190f35b61019e6004803603602081101561022257600080fd5b50356103db565b6101a86004803603602081101561023f57600080fd5b5035610466565b61024e610526565b604080516001600160a01b039092168252519081900360200190f35b61019e610535565b6101ca6105f1565b6101a86105f6565b6101f86004803603602081101561029857600080fd5b50356105fe565b61024e61076b565b6101a861077a565b6101a8600480360360408110156102c557600080fd5b5080359060200135610780565b6101a86108ba565b6101a86108c8565b61019e600480360360208110156102f857600080fd5b50356001600160a01b03166108ce565b6101a8610981565b61024e610ade565b6101a8610aed565b6101a8610af3565b6101a8610b48565b610338610b4f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b662c68af0bb1400081565b680ad78ebc5ac620000081565b603481565b66b1a2bc2ec5000081565b6201518081565b600062093a80600254420311156103d4575060016103d8565b5060005b90565b6103e3610b4f565b680ad78ebc5ac620000081111561042b5760405162461bcd60e51b8152600401808060200182810382526026815260200180610eb56026913960400191505060405180910390fd5b60048190556040805182815290517f036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d309181900360200190a150565b600080610500836104f4662c68af0bb1400073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156104bc57600080fd5b505af41580156104d0573d6000803e3d6000fd5b505050506040513d60208110156104e657600080fd5b50519063ffffffff610b9a16565b9063ffffffff610bf716565b9050600061051e69104a18ef4d3b7a9a2b208363ffffffff610cb316565b949350505050565b6001546001600160a01b031681565b6001546001600160a01b0316331461057e5760405162461bcd60e51b8152600401808060200182810382526035815260200180610dfb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60ac81565b6360e8e30081565b60055460408051636a5c1cc960e11b815290516000926001600160a01b03169163d4b83992916004808301926020929190829003018186803b15801561064357600080fd5b505afa158015610657573d6000803e3d6000fd5b505050506040513d602081101561066d57600080fd5b50516001600160a01b031633146106b55760405162461bcd60e51b8152600401808060200182810382526035815260200180610e306035913960400191505060405180910390fd5b60006106bf610af3565b6003549091506106d5908263ffffffff610cdd16565b600381905561071790620151809061070b906106fa9062093a8063ffffffff610d3716565b6360e8e3009063ffffffff610cdd16565b9063ffffffff610cdd16565b6002819055604080518581526020810184905280820192909252426060830152517f601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab9181900360800190a150600192915050565b6000546001600160a01b031681565b60045481565b60008061081e836104f46107a266b1a2bc2ec50000603463ffffffff610d9016565b73__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107e657600080fd5b505af41580156107fa573d6000803e3d6000fd5b505050506040513d602081101561081057600080fd5b50519063ffffffff610cdd16565b90506108b06108a373__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561086a57600080fd5b505af415801561087e573d6000803e3d6000fd5b505050506040513d602081101561089457600080fd5b5051839063ffffffff610b9a16565b859063ffffffff610cb316565b9150505b92915050565b69104a18ef4d3b7a9a2b2081565b60025481565b6108d6610b4f565b6001600160a01b038116610927576040805162461bcd60e51b81526020600482015260136024820152720416464726573732063616e6e6f74206265203606c1b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f4094b32859be9f48a78da629a4781a3dba62f3ac0c160db0d2b16fad5b7e4570916020908290030190a150565b60008061098c6103bb565b6109975790506103d8565b60006109a1610af3565b6003549091505b8115610ad65760010160348110156109e2576109d48369104a18ef4d3b7a9a2b2063ffffffff610cdd16565b925060001990910190610ad1565b60ac8111610a275760006109fd82603363ffffffff610b9a16565b9050610a18610a0b82610466565b859063ffffffff610cdd16565b93505060001990910190610ad1565b600554604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610a6c57600080fd5b505afa158015610a80573d6000803e3d6000fd5b505050506040513d6020811015610a9657600080fd5b505190506000610aac828663ffffffff610cdd16565b9050610ac8610abb8286610780565b869063ffffffff610cdd16565b94506000935050505b6109a8565b509091505090565b6005546001600160a01b031681565b60035481565b600080600060025411610b1957610b14426360e8e30063ffffffff610b9a16565b610b2d565b600254610b2d90429063ffffffff610b9a16565b9050610b428162093a8063ffffffff610d9016565b91505090565b62093a8081565b6000546001600160a01b03163314610b985760405162461bcd60e51b815260040180806020018281038252602f815260200180610e65602f913960400191505060405180910390fd5b565b600082821115610bf1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3e57600080fd5b505af4158015610c52573d6000803e3d6000fd5b505050506040513d6020811015610c6857600080fd5b505190505b8215610cac576002830615610c8f57610c8c818563ffffffff610cb316565b90505b610c9f848063ffffffff610cb316565b9350600283049250610c6d565b9392505050565b6000670de0b6b3a7640000610cce848463ffffffff610d3716565b81610cd557fe5b049392505050565b600082820183811015610cac576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082610d46575060006108b4565b82820282848281610d5357fe5b0414610cac5760405162461bcd60e51b8152600401808060200182810382526021815260200180610e946021913960400191505060405180910390fd5b6000808211610de6576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610df157fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c7920746865207065726946696e616e636520636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775265776172642063616e6e6f7420657863656564206d6178206d696e74657220726577617264a265627a7a7231582056071403933442b5e3cada097ba28512f96892b0534fe930fa9643f150d63ba364736f6c63430005100032",
			"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": "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": "newAddress",
							"type": "address"
						}
					],
					"name": "PeriFinanceProxyUpdated",
					"type": "event",
					"signature": "0x4094b32859be9f48a78da629a4781a3dba62f3ac0c160db0d2b16fad5b7e4570"
				},
				{
					"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": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinanceProxy",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd12a701d"
				},
				{
					"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 IPeriFinance",
							"name": "_periFinanceProxy",
							"type": "address"
						}
					],
					"name": "setPeriFinanceProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc1b7ca11"
				},
				{
					"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"
				}
			],
			"source": {
				"keccak256": "0x22ebd4112820c31a767a5ef2d78d2473dc7a4807a1e369ceba9403a1cea32ab2",
				"urls": [
					"bzz-raw://6207316519c782bfe3e2c106c94dab69c998b29fb68f634689eaa22a461528b0",
					"dweb:/ipfs/QmXJwKUpUySzw2y9KmsDCRD7r1K9U6y4U66kvX2CaeAMyQ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SupplySchedule.sol": "SupplySchedule"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SupplySchedule.sol": {
						"keccak256": "0x22ebd4112820c31a767a5ef2d78d2473dc7a4807a1e369ceba9403a1cea32ab2",
						"urls": [
							"bzz-raw://6207316519c782bfe3e2c106c94dab69c998b29fb68f634689eaa22a461528b0",
							"dweb:/ipfs/QmXJwKUpUySzw2y9KmsDCRD7r1K9U6y4U66kvX2CaeAMyQ"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinance": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162005b9738038062005b9783398101604081905262000034916200032e565b868686868685818686604051806040016040528060128152602001712832b934902334b730b731b2902a37b5b2b760711b815250604051806040016040528060048152602001635045524960e01b8152508760128a868160006001600160a01b0316816001600160a01b03161415620000ca5760405162461bcd60e51b8152600401620000c190620004a7565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620001179184906200046f565b60405180910390a1506000546001600160a01b03166200014b5760405162461bcd60e51b8152600401620000c19062000495565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620001989083906200045f565b60405180910390a150600580546001600160a01b0319166001600160a01b0388161790558451620001d19060069060208801906200025c565b508351620001e79060079060208701906200025c565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050600b80546001600160a01b03199081169585169590951790555050600c805490921698169790971790965550620005259950505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200029f57805160ff1916838001178555620002cf565b82800160010185558215620002cf579182015b82811115620002cf578251825591602001919060010190620002b2565b50620002dd929150620002e1565b5090565b620002fe91905b80821115620002dd5760008155600101620002e8565b90565b80516200030e81620004f5565b92915050565b80516200030e816200050f565b80516200030e816200051a565b600080600080600080600060e0888a0312156200034a57600080fd5b6000620003588a8a62000301565b97505060206200036b8a828b0162000314565b96505060406200037e8a828b0162000301565b9550506060620003918a828b0162000321565b9450506080620003a48a828b0162000301565b93505060a0620003b78a828b0162000301565b92505060c0620003ca8a828b0162000301565b91505092959891949750929550565b620003e481620004e8565b82525050565b620003e481620004c2565b600062000404601183620004b9565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000433601983620004b9565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200030e8284620003d9565b604081016200047f8285620003d9565b6200048e6020830184620003ea565b9392505050565b602080825281016200030e81620003f5565b602080825281016200030e8162000424565b90815260200190565b60006200030e82620004dc565b60006200030e82620004c2565b6001600160a01b031690565b60006200030e82620004cf565b6200050081620004c2565b81146200050c57600080fd5b50565b6200050081620004cf565b6200050081620002fe565b61566280620005356000396000f3fe608060405234801561001057600080fd5b506004361061048b5760003560e01c80638e2ac0ea11610262578063c9a2f3ad11610151578063ddd03a3f116100ce578063ec55688911610092578063ec55688914610989578063edef719a146106bc578063ee52a2f314610991578063f084219e146109a4578063f5adc4f5146109ac578063f9eea80c146109b45761048b565b8063ddd03a3f14610940578063e3c3af9814610953578063e6203ed114610966578063e90dd9e214610979578063e9fad8ee146109815761048b565b8063d8a1f76f11610115578063d8a1f76f146108f7578063d99947de1461090a578063d9dbf65714610912578063dd47bddb1461091a578063dd62ed3e1461092d5761048b565b8063c9a2f3ad146108a3578063d37c4d8b146108b6578063d3a71202146108c9578063d67bdd25146108dc578063d6980ba1146108e45761048b565b8063a311c7c2116101df578063af5a5e4c116101a3578063af5a5e4c14610841578063b13c7e1914610849578063bc67f8321461085c578063becf5ff81461086f578063c836fa0a146108905761048b565b8063a311c7c2146107e2578063a56c62cf146107f5578063a5fdc5de14610808578063a9059cbb1461081b578063ace88afd1461082e5761048b565b806397107d6d1161022657806397107d6d1461078e578063987757dd146107a15780639cbdaeb6146107b45780639df95f9f146107bc5780639f769807146107cf5761048b565b80638e2ac0ea1461074557806391e56b681461074d5780639288e70414610760578063945d12291461077357806395d89b41146107865761048b565b8063321ea17c1161037e578063666ed4f1116102fb57806374185360116102bf578063741853601461071257806379ba50971461071a57806385d18d3614610722578063899ffef4146107355780638da5cb5b1461073d5761048b565b8063666ed4f1146106bc5780636b76222f146106cf5780636f01a986146106d757806370a08231146106ea57806372cb051f146106fd5761048b565b806350d0573c1161034257806350d0573c14610673578063534f079c1461067b57806353a47bb71461068e57806355182ccb1461069657806357ad4663146106a95761048b565b8063321ea17c1461061b5780633b09280a1461062357806340c10f1914610645578063440c6778146106585780634466ec2c1461066b5761048b565b80631b99084c1161040c5780632af64bd3116103d05780632af64bd3146105c35780632bc93ad6146105cb5780632e0f2625146105eb57806330ead76014610600578063313ce567146106135761048b565b80631b99084c1461056f5780631c12b566146105825780631fce304d1461059557806323b872dd146105a85780632a905318146105bb5761048b565b8063131b0ae711610453578063131b0ae7146105195780631627540c1461052c57806318160ddd1461053f57806318821400146105545780631a8ce1dd1461055c5761048b565b806304f3bcec1461049057806306fdde03146104ae578063095ea7b3146104c35780630a057b76146104e35780630e30963c146104f8575b600080fd5b6104986109bc565b6040516104a59190615301565b60405180910390f35b6104b66109d0565b6040516104a5919061530f565b6104d66104d1366004613fa9565b610a5e565b6040516104a591906151ab565b6104f66104f136600461431c565b610aec565b005b61050b6105063660046143a3565b610b85565b6040516104a59291906154d0565b6104f6610527366004613ee6565b610c5d565b6104f661053a366004613ee6565b610c87565b610547610ce5565b6040516104a591906151b9565b6104b6610ceb565b6104f661056a36600461431c565b610d19565b6104f661057d3660046140f3565b610e12565b6104f6610590366004613ee6565b610ed4565b6104d66105a33660046142bf565b610efe565b6104d66105b6366004613f5c565b610f93565b6104b6610ff1565b6104d6611011565b6105de6105d93660046142bf565b61112e565b6040516104a59190614f14565b6105f3611139565b6040516104a59190615507565b61054761060e36600461433b565b61113e565b6105f361120d565b6105de611216565b610636610631366004613ee6565b611225565b6040516104a5939291906154f9565b6104d6610653366004613fa9565b6112ba565b6104f6610666366004613ee6565b61141c565b610498611446565b6104f6611455565b6104f661068936600461431c565b6114e8565b6105de61154a565b6105476106a4366004613ee6565b611559565b6104986106b73660046142bf565b6115de565b6104f66106ca366004613fa9565b611663565b6104f661166f565b6104f66106e5366004613fd9565b61171a565b6105476106f8366004613ee6565b61179c565b6107056117cd565b6040516104a5919061519a565b6104f6611850565b6104f66119a2565b6104f66107303660046142bf565b611a3e565b610705611a9e565b6105de611b5f565b6104f6611b6e565b61054761075b36600461406c565b611bcc565b61054761076e36600461416d565b611cbe565b6104f6610781366004613ee6565b611d54565b6104b6611d7e565b6104f661079c366004613ee6565b611dd9565b6106366107af3660046142bf565b611e2c565b610498611ee9565b6104986107ca3660046142bf565b611ef8565b6104f66107dd3660046143e3565b611f2d565b6105476107f0366004613ee6565b611f5c565b6104f6610803366004613ee6565b611f91565b610547610816366004613ee6565b611fe1565b6104d6610829366004613fa9565b612016565b6104f661083c366004613fd9565b612078565b6104f66120c5565b6104d66108573660046142bf565b6121d3565b6104f661086a366004613ee6565b61266f565b61088261087d366004613ee6565b612699565b6040516104a59291906151f0565b61054761089e36600461400b565b612728565b6105476108b1366004613ee6565b6127a5565b6105476108c4366004613fa9565b6127da565b6105476108d73660046142bf565b612868565b6105de6128a0565b6105476108f23660046142bf565b6128af565b6104f66109053660046142bf565b6128e7565b6105476128ef565b610498612969565b6104f66109283660046142bf565b612978565b61054761093b366004613f22565b6129b1565b6104f661094e3660046142fb565b6129e4565b610547610961366004613ee6565b612a60565b6104d6610974366004613fa9565b612b61565b610498612c59565b6104f6612c68565b610498612cc6565b61054761099f3660046142fb565b612cd5565b6105de612d9e565b6104d6612dad565b610547612e27565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a565780601f10610a2b57610100808354040283529160200191610a56565b820191906000526020600020905b815481529060010190602001808311610a3957829003601f168201915b505050505081565b6000610a68612e32565b60048054600554604051633691826360e21b81526001600160a01b0392831693919092169163da46098c91610aa39185918991899101615010565b600060405180830381600087803b158015610abd57600080fd5b505af1158015610ad1573d6000803e3d6000fd5b50505050610ae0818585612e89565b60019150505b92915050565b610af4612f09565b610afc612e32565b6004546001600160a01b0316610b1181612f63565b610b19613028565b60048054604051631ab11c7160e21b81526001600160a01b0393841693636ac471c493610b4e93909116918891889101615046565b600060405180830381600087803b158015610b6857600080fd5b505af1158015610b7c573d6000803e3d6000fd5b50505050505050565b6000808584610b94828261303c565b610b9c612e32565b6004546001600160a01b0316610bb181612f63565b610bb961309d565b610bc16130b5565b60048054604051633ce6548960e21b81526001600160a01b039384169363f399522493610bfc93909116918e918e918e9185918f91016150e5565b6040805180830381600087803b158015610c1557600080fd5b505af1158015610c29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c4d9190810190614431565b9450945050505094509492505050565b610c656130cc565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b610c8f6130cc565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610cda908390614f14565b60405180910390a150565b60085481565b604051806040016040528060128152602001712832b934902334b730b731b2902a37b5b2b760711b81525081565b610d21612e32565b600e546001600160a01b0316610d525760405162461bcd60e51b8152600401610d4990615470565b60405180910390fd5b60008211610d725760405162461bcd60e51b8152600401610d49906154a0565b600454610d88906001600160a01b0316836130f6565b610da45760405162461bcd60e51b8152600401610d49906153e0565b600e5460048054604051630177b2a160e41b81526001600160a01b039384169363177b2a1093610ddc93909116918791879101615046565b600060405180830381600087803b158015610df657600080fd5b505af1158015610e0a573d6000803e3d6000fd5b505050505050565b610e1a6131ee565b6002546040516001600160a01b039091169063907dff9790610e48908890889088908890889060200161521e565b6040516020818303038152906040526002604051610e6590614e9c565b6040518091039020610e768b613226565b6000806040518763ffffffff1660e01b8152600401610e9a96959493929190615280565b600060405180830381600087803b158015610eb457600080fd5b505af1158015610ec8573d6000803e3d6000fd5b50505050505050505050565b610edc6130cc565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b600080610f096130b5565b600480546040516301670a7b60e21b81526001600160a01b039384169363059c29ec93610f3c9390911691889101615038565b60206040518083038186803b158015610f5457600080fd5b505afa158015610f68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f8c91908101906142dd565b1192915050565b6000610f9d612e32565b610fa5613232565b6004546001600160a01b0316610fba81612f63565b84610fc481612f63565b610fce8685613272565b50600454610fe7906001600160a01b0316878787613450565b9695505050505050565b604051806040016040528060048152602001635045524960e01b81525081565b6000606061101d611a9e565b905060005b815181101561112457600082828151811061103957fe5b6020908102919091018101516000818152600a9092526040918290205460095492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a7219061108f9085906004016151b9565b60206040518083038186803b1580156110a757600080fd5b505afa1580156110bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110df9190810190613f04565b6001600160a01b031614158061110a57506000818152600a60205260409020546001600160a01b0316155b1561111b576000935050505061112b565b50600101611022565b5060019150505b90565b6000610ae6826134f0565b601281565b6000858461114c828261303c565b611154612e32565b6004546001600160a01b031661116981612f63565b6111716130b5565b600480546040516321aea91760e21b81526001600160a01b03938416936386baa45c936111ae93909116918e918e918e9185918f918f91016150a3565b602060405180830381600087803b1580156111c857600080fd5b505af11580156111dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061120091908101906142dd565b9998505050505050505050565b60095460ff1681565b600d546001600160a01b031681565b6000806000611232613028565b6001600160a01b0316633b09280a856040518263ffffffff1660e01b815260040161125d9190614f14565b60606040518083038186803b15801561127557600080fd5b505afa158015611289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112ad9190810190614491565b9250925092509193909250565b60006112c4612e32565b600c546001600160a01b03166112ec5760405162461bcd60e51b8152600401610d49906153c0565b600454600c546001600160a01b0390811691161461131c5760405162461bcd60e51b8152600401610d4990615360565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f69085906113b890869085906370a082319061135c908690600401614f14565b60206040518083038186803b15801561137457600080fd5b505afa158015611388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113ac91908101906142dd565b9063ffffffff61354d16565b6040518363ffffffff1660e01b81526004016113d5929190615038565b600060405180830381600087803b1580156113ef57600080fd5b505af1158015611403573d6000803e3d6000fd5b5050505061141360008484613572565b50600192915050565b6114246130cc565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b600e546001600160a01b031681565b61145d612f09565b611465612e32565b6004546001600160a01b031661147a81612f63565b611482613028565b60048054604051632525573b60e21b81526001600160a01b03938416936394955cec936114b3939091169101614f14565b600060405180830381600087803b1580156114cd57600080fd5b505af11580156114e1573d6000803e3d6000fd5b5050505050565b6114f0612f09565b6114f8612e32565b6004546001600160a01b031661150d81612f63565b611515613028565b6004805460405163047cad3160e11b81526001600160a01b03938416936308f95a6293610b4e93909116918891889101615046565b6001546001600160a01b031681565b6000611563613028565b6001600160a01b03166355182ccb836040518263ffffffff1660e01b815260040161158e9190614f14565b60206040518083038186803b1580156115a657600080fd5b505afa1580156115ba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae691908101906142dd565b60006115e8613028565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b815260040161161391906151b9565b60206040518083038186803b15801561162b57600080fd5b505afa15801561163f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae691908101906143c5565b61166b61309d565b5050565b6116776130cc565b6005546000906001600160a01b03166370a082316116936135b5565b6040518263ffffffff1660e01b81526004016116af9190614f14565b60206040518083038186803b1580156116c757600080fd5b505afa1580156116db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116ff91908101906142dd565b905061166b61170c6135b5565b6117146135cf565b836135eb565b6117226131ee565b6002546040516001600160a01b039091169063907dff979061174a90859085906020016151f0565b604051602081830303815290604052600260405161176790614ed2565b604051809103902061177888613226565b6000806040518763ffffffff1660e01b8152600401610b4e96959493929190615280565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a082319061158e908590600401614f14565b60606117d7613028565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561180f57600080fd5b505afa158015611823573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261184b9190810190614237565b905090565b606061185a611a9e565b905060005b815181101561166b57600082828151811061187657fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016118b89190614efe565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016118e49291906151fe565b60206040518083038186803b1580156118fc57600080fd5b505afa158015611910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119349190810190613f04565b6000838152600a60205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061199090849084906151c7565b60405180910390a1505060010161185f565b6001546001600160a01b031633146119cc5760405162461bcd60e51b8152600401610d4990615330565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611a0f926001600160a01b0391821692911690614f4b565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b611a46612f09565b611a4e612e32565b6004546001600160a01b0316611a6381612f63565b611a6b613028565b6004805460405163171af06360e01b81526001600160a01b039384169363171af06393610ddc9390911691879101615038565b606080611aa9613777565b60408051600380825260808201909252919250606091906020820183803883390190505090506b526577617264457363726f7760a01b81600081518110611aec57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600181518110611b1757fe5b6020026020010181815250506d537570706c795363686564756c6560901b81600281518110611b4257fe5b602002602001018181525050611b58828261386c565b9250505090565b6000546001600160a01b031681565b611b76612f09565b611b7e612e32565b6004546001600160a01b0316611b9381612f63565b611b9b613028565b6004805460405163f0617e5b60e01b81526001600160a01b039384169363f0617e5b936114b3939091169101614f14565b60008584611bda828261303c565b611be2612e32565b6004546001600160a01b0316611bf781612f63565b89611c0181612f63565b611c0961309d565b611c116130b5565b6001600160a01b031663dfffca768c600460009054906101000a90046001600160a01b03168d8d8d8d8d6040518863ffffffff1660e01b8152600401611c5d9796959493929190614fa8565b602060405180830381600087803b158015611c7757600080fd5b505af1158015611c8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611caf91908101906142dd565b9b9a5050505050505050505050565b6000611cc8613028565b6001600160a01b0316639288e704868686866040518563ffffffff1660e01b8152600401611cf9949392919061515c565b60206040518083038186803b158015611d1157600080fd5b505afa158015611d25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d4991908101906142dd565b90505b949350505050565b611d5c6130cc565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6007805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a565780601f10610a2b57610100808354040283529160200191610a56565b611de16130cc565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610cda908390614f22565b6000806000611e39612e32565b6004546001600160a01b0316611e4e81612f63565b611e566130b5565b600480546040516306c5a00b60e21b81526001600160a01b0393841693631b16802c93611e8993909116918a9101615038565b606060405180830381600087803b158015611ea357600080fd5b505af1158015611eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611edb9190810190614491565b935093509350509193909250565b6003546001600160a01b031681565b6000611f02613028565b6001600160a01b0316639df95f9f836040518263ffffffff1660e01b815260040161161391906151b9565b611f35613921565b600580546001600160a01b0319166001600160a01b038316179055611f59816139a6565b50565b6000611f66613028565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b815260040161158e9190614f14565b611f996130cc565b6001600160a01b038116611fbf5760405162461bcd60e51b8152600401610d49906153a0565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000611feb613028565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b815260040161158e9190614f14565b6000612020612e32565b612028613232565b6004546001600160a01b031661203d81612f63565b600454612053906001600160a01b031684613272565b5060045461206b906001600160a01b03168585613a18565b50600191505b5092915050565b6120806131ee565b6002546040516001600160a01b039091169063907dff97906120a890859085906020016151f0565b604051602081830303815290604052600260405161176790614e91565b6120cd612e32565b600e546001600160a01b03166120f55760405162461bcd60e51b8152600401610d4990615470565b600e5460048054604051630145b42f60e31b81526060936001600160a01b0390811693630a2da1789361212b9392169101614f14565b60006040518083038186803b15801561214357600080fd5b505afa158015612157573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261217f919081019061426c565b905060008151116121a25760405162461bcd60e51b8152600401610d4990615450565b60005b815181101561166b576121ca8282815181106121bd57fe5b6020026020010151613a25565b506001016121a5565b60006121dd612f09565b600d546001600160a01b031633146122075760405162461bcd60e51b8152600401610d4990615410565b8173__$9795c68b376d1abadef8d13ca2057cf238$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561224c57600080fd5b505af4158015612260573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061228491908101906142dd565b10156122a25760405162461bcd60e51b8152600401610d49906153f0565b60006122ac613b6a565b6001600160a01b031614156122d35760405162461bcd60e51b8152600401610d49906153d0565b60006122dd613b8b565b905060006122e9613b6a565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561232657600080fd5b505afa15801561233a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061235e91908101906142dd565b9050612370818663ffffffff613ba716565b9050600081116123925760405162461bcd60e51b8152600401610d4990615480565b604051637e7961d760e01b81526001600160a01b03841690637e7961d7906123be9084906004016151b9565b602060405180830381600087803b1580156123d857600080fd5b505af11580156123ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061241091908101906142a1565b506000836001600160a01b0316639bdd7ac76040518163ffffffff1660e01b815260040160206040518083038186803b15801561244c57600080fd5b505afa158015612460573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061248491908101906142dd565b90506000612498838363ffffffff613bd116565b6005546040516370a0823160e01b81529192506001600160a01b03169063b46310f69086906124d990859085906370a082319061135c908690600401614f14565b6040518363ffffffff1660e01b81526004016124f6929190615038565b600060405180830381600087803b15801561251057600080fd5b505af1158015612524573d6000803e3d6000fd5b50505050612533308583613572565b604051630b32e9c760e31b81526001600160a01b038516906359974e389061255f9084906004016151b9565b602060405180830381600087803b15801561257957600080fd5b505af115801561258d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125b191908101906142a1565b506005546040516370a0823160e01b81526001600160a01b039091169063b46310f69033906125f290869085906370a082319061135c908690600401614f22565b6040518363ffffffff1660e01b815260040161260f929190614f30565b600060405180830381600087803b15801561262957600080fd5b505af115801561263d573d6000803e3d6000fd5b5050505061264c303384613572565b60085461265f908463ffffffff61354d16565b6008555060019695505050505050565b612677613bf9565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000806126a4613028565b6001600160a01b031663becf5ff8846040518263ffffffff1660e01b81526004016126cf9190614f14565b604080518083038186803b1580156126e657600080fd5b505afa1580156126fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061271e9190810190614461565b9094909350915050565b60008382612736828261303c565b61273e612e32565b6004546001600160a01b031661275381612f63565b8761275d81612f63565b61276561309d565b61276d6130b5565b60048054604051630d4388eb60e31b81526001600160a01b0393841693636a1c4758936111ae938f939216918e918e918e9101614f66565b60006127af613028565b6001600160a01b031663c9a2f3ad836040518263ffffffff1660e01b815260040161158e9190614f14565b60006127e4613028565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b8152600401612811929190615038565b60206040518083038186803b15801561282957600080fd5b505afa15801561283d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061286191908101906142dd565b9392505050565b6000612872613028565b6001600160a01b031663f023e8db8360006040518363ffffffff1660e01b815260040161158e9291906151d5565b6004546001600160a01b031681565b60006128b9613028565b6001600160a01b031663f023e8db8360016040518363ffffffff1660e01b815260040161158e9291906151d5565b611f5961309d565b60006128f9613028565b6001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561293157600080fd5b505afa158015612945573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061184b91908101906142dd565b600b546001600160a01b031681565b612980612e32565b600e546001600160a01b03166129a85760405162461bcd60e51b8152600401610d4990615470565b61166b81613a25565b600554604051636eb1769f60e11b81526000916001600160a01b03169063dd62ed3e906128119086908690600401614f4b565b6129ec6131ee565b6002546040516001600160a01b039091169063907dff9790612a1490859085906020016151f0565b6040516020818303038152906040526002604051612a3190614edd565b6040519081900381206001600160e01b031960e086901b168252610b4e93929189906000908190600401615280565b6000612a6a613028565b6005546040516370a0823160e01b81526001600160a01b0392831692638d542eb39286929116906370a0823190612aa5908490600401614f14565b60206040518083038186803b158015612abd57600080fd5b505afa158015612ad1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612af591908101906142dd565b6040518363ffffffff1660e01b8152600401612b12929190615038565b604080518083038186803b158015612b2957600080fd5b505afa158015612b3d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120719190810190614401565b6000612b6b613232565b612b73612e32565b6004546001600160a01b0316612b8881612f63565b612b9061309d565b600080612b9b613028565b6004805460405163298f137d60e21b81526001600160a01b039384169363a63c4df493612bd0938c938c939091169101615134565b6040805180830381600087803b158015612be957600080fd5b505af1158015612bfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c219190810190614461565b6004549193509150612c41908790849084906001600160a01b0316613c38565b600454610fe79087906001600160a01b031684613a18565b6005546001600160a01b031681565b612c70612f09565b612c78612e32565b6004546001600160a01b0316612c8d81612f63565b612c95613028565b6004805460405163b42652e960e01b81526001600160a01b039384169363b42652e9936114b3939091169101614f14565b6002546001600160a01b031681565b60008382612ce3828261303c565b612ceb612e32565b6004546001600160a01b0316612d0081612f63565b612d086130b5565b60048054604051630a1e187d60e01b81526001600160a01b0393841693630a1e187d93612d4193909116918c918c918c91859101615061565b602060405180830381600087803b158015612d5b57600080fd5b505af1158015612d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d9391908101906142dd565b979650505050505050565b600c546001600160a01b031681565b6000612db7613028565b6001600160a01b031663f5adc4f56040518163ffffffff1660e01b815260040160206040518083038186803b158015612def57600080fd5b505afa158015612e03573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061184b91908101906142a1565b631c1554d160e21b81565b6002546001600160a01b03163314801590612e5857506003546001600160a01b03163314155b8015612e6f57506004546001600160a01b03163314155b15612e8757600480546001600160a01b031916331790555b565b6002546040516001600160a01b039091169063907dff9790612eaf9084906020016151b9565b6040516020818303038152906040526003604051612ecc90614ec7565b6040518091039020612edd88613226565b612ee688613226565b60006040518763ffffffff1660e01b8152600401610b4e969594939291906152ba565b612f11613cec565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f4957600080fd5b505afa158015612f5d573d6000803e3d6000fd5b50505050565b600b546001600160a01b0316612f8b5760405162461bcd60e51b8152600401610d49906154c0565b600b5460405163cb2505cf60e01b81526001600160a01b039091169063cb2505cf90612fbb908490600401614f14565b60206040518083038186803b158015612fd357600080fd5b505afa158015612fe7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061300b91908101906142a1565b15611f595760405162461bcd60e51b8152600401610d4990615440565b600061184b6524b9b9bab2b960d11b6134f0565b613044613cec565b6001600160a01b0316632cb28bd883836040518363ffffffff1660e01b81526004016130719291906151f0565b60006040518083038186803b15801561308957600080fd5b505afa158015610e0a573d6000803e3d6000fd5b60405162461bcd60e51b8152600401610d49906153b0565b600061184b6822bc31b430b733b2b960b91b6134f0565b6000546001600160a01b03163314612e875760405162461bcd60e51b8152600401610d4990615400565b6005546040516370a0823160e01b81526000916001600160a01b03169063b46310f690859061319390869085906370a0823190613137908690600401614f14565b60206040518083038186803b15801561314f57600080fd5b505afa158015613163573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061318791908101906142dd565b9063ffffffff613bd116565b6040518363ffffffff1660e01b81526004016131b0929190615038565b600060405180830381600087803b1580156131ca57600080fd5b505af11580156131de573d6000803e3d6000fd5b5050505061141383600084613572565b6131f66130b5565b6001600160a01b0316336001600160a01b031614612e875760405162461bcd60e51b8152600401610d4990615350565b6001600160a01b031690565b61323a613cec565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015612f4957600080fd5b60008061327d613d06565b6001600160a01b0316638b3f8088856040518263ffffffff1660e01b81526004016132a89190614f14565b604080518083038186803b1580156132bf57600080fd5b505afa1580156132d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132f79190810190614461565b5090508015610ae05760008061330b613028565b6005546040516370a0823160e01b81526001600160a01b0392831692638d542eb3928a929116906370a0823190613346908490600401614f14565b60206040518083038186803b15801561335e57600080fd5b505afa158015613372573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061339691908101906142dd565b6040518363ffffffff1660e01b81526004016133b3929190615038565b604080518083038186803b1580156133ca57600080fd5b505afa1580156133de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134029190810190614401565b91509150818511156134265760405162461bcd60e51b8152600401610d4990615490565b80156134445760405162461bcd60e51b8152600401610d4990615420565b50600195945050505050565b600554604051636eb1769f60e11b81526000916001600160a01b03169063da46098c9086908890613495908790869063dd62ed3e906131379087908790600401614f4b565b6040518463ffffffff1660e01b81526004016134b393929190615010565b600060405180830381600087803b1580156134cd57600080fd5b505af11580156134e1573d6000803e3d6000fd5b50505050611d498484846135eb565b6000818152600a602090815260408083205490516001600160a01b03909116918215159161352091869101614ea7565b604051602081830303815290604052906120715760405162461bcd60e51b8152600401610d49919061530f565b6000828201838110156128615760405162461bcd60e51b8152600401610d4990615380565b6002546040516001600160a01b039091169063907dff97906135989084906020016151b9565b6040516020818303038152906040526003604051612ecc90614f09565b600061184b6b526577617264457363726f7760a01b6134f0565b600061184b6d2932bbb0b93222b9b1b937bbab1960911b6134f0565b60006001600160a01b0383161580159061360e57506001600160a01b0383163014155b801561362857506002546001600160a01b03848116911614155b6136445760405162461bcd60e51b8152600401610d4990615320565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f690869061368490869085906370a0823190613137908690600401614f14565b6040518363ffffffff1660e01b81526004016136a1929190615038565b600060405180830381600087803b1580156136bb57600080fd5b505af11580156136cf573d6000803e3d6000fd5b50506005546040516370a0823160e01b81526001600160a01b03909116925063b46310f69150859061371390869085906370a082319061135c908690600401614f14565b6040518363ffffffff1660e01b8152600401613730929190615038565b600060405180830381600087803b15801561374a57600080fd5b505af115801561375e573d6000803e3d6000fd5b5050505061376d848484613572565b5060019392505050565b60408051600580825260c082019092526060916020820160a0803883390190505090506f5065726946696e616e6365537461746560801b816000815181106137bb57fe5b6020026020010181815250506b53797374656d53746174757360a01b816001815181106137e457fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061380a57fe5b6020026020010181815250506524b9b9bab2b960d11b8160038151811061382d57fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b8160048151811061385d57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561389c578160200160208202803883390190505b50905060005b83518110156138de578381815181106138b757fe5b60200260200101518282815181106138cb57fe5b60209081029190910101526001016138a2565b5060005b8251811015612071578281815181106138f757fe5b602002602001015182828651018151811061390e57fe5b60209081029190910101526001016138e2565b6002546001600160a01b0316331480159061394757506003546001600160a01b03163314155b801561395e57506004546001600160a01b03163314155b1561397657600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614612e875760405162461bcd60e51b8152600401610d4990615340565b6002546040516001600160a01b039091169063907dff97906139cc908490602001614f14565b60405160208183030381529060405260016040516139e990614ee8565b6040519081900381206001600160e01b031960e086901b1682526114b39392916000908190819060040161522c565b6000611d4c8484846135eb565b600e54604051631e1d164f60e01b8152600091829182916001600160a01b031690631e1d164f90613a5a9087906004016151b9565b60a06040518083038186803b158015613a7257600080fd5b505afa158015613a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613aaa91908101906141c2565b5050600454929450909250506001600160a01b03808416911614613ae05760405162461bcd60e51b8152600401610d4990615460565b600e5460405163484f80c560e11b81526001600160a01b039091169063909f018a90613b1290879085906004016151f0565b600060405180830381600087803b158015613b2c57600080fd5b505af1158015613b40573d6000803e3d6000fd5b50505050613b4e8282613d24565b61376d5760405162461bcd60e51b8152600401610d4990615370565b600061184b722932bbb0b93239a234b9ba3934b13aba34b7b760691b6134f0565b600061184b6d537570706c795363686564756c6560901b6134f0565b6000670de0b6b3a7640000613bc2848463ffffffff613d6516565b81613bc957fe5b049392505050565b600082821115613bf35760405162461bcd60e51b8152600401610d4990615390565b50900390565b6002546001600160a01b0316331480613c1c57506003546001600160a01b031633145b612e875760405162461bcd60e51b8152600401610d49906154b0565b6002546040516001600160a01b039091169063907dff9790613c62908690869086906020016154eb565b6040516020818303038152906040526002604051613c7f90614ef3565b6040518091039020613c9089613226565b6000806040518763ffffffff1660e01b8152600401613cb496959493929190615280565b600060405180830381600087803b158015613cce57600080fd5b505af1158015613ce2573d6000803e3d6000fd5b5050505050505050565b600061184b6b53797374656d53746174757360a01b6134f0565b600061184b6f5065726946696e616e6365537461746560801b6134f0565b6005546040516370a0823160e01b81526000916001600160a01b03169063b46310f69085906113b890869085906370a082319061135c908690600401614f14565b600082613d7457506000610ae6565b82820282848281613d8157fe5b04146128615760405162461bcd60e51b8152600401610d4990615430565b8035610ae6816155f0565b8051610ae6816155f0565b600082601f830112613dc657600080fd5b8151613dd9613dd48261553c565b615515565b91508181835260208401935060208101905083856020840282011115613dfe57600080fd5b60005b83811015613e2a5781613e148882613ec5565b8452506020928301929190910190600101613e01565b5050505092915050565b600082601f830112613e4557600080fd5b8151613e53613dd48261553c565b91508181835260208401935060208101905083856020840282011115613e7857600080fd5b60005b83811015613e2a5781613e8e8882613ec5565b8452506020928301929190910190600101613e7b565b8035610ae681615604565b8051610ae681615604565b8035610ae68161560d565b8051610ae68161560d565b8051610ae681615616565b8035610ae681615616565b600060208284031215613ef857600080fd5b6000611d4c8484613d9f565b600060208284031215613f1657600080fd5b6000611d4c8484613daa565b60008060408385031215613f3557600080fd5b6000613f418585613d9f565b9250506020613f5285828601613d9f565b9150509250929050565b600080600060608486031215613f7157600080fd5b6000613f7d8686613d9f565b9350506020613f8e86828701613d9f565b9250506040613f9f86828701613eba565b9150509250925092565b60008060408385031215613fbc57600080fd5b6000613fc88585613d9f565b9250506020613f5285828601613eba565b600080600060608486031215613fee57600080fd5b6000613ffa8686613d9f565b9350506020613f8e86828701613eba565b6000806000806080858703121561402157600080fd5b600061402d8787613d9f565b945050602061403e87828801613eba565b935050604061404f87828801613eba565b925050606061406087828801613eba565b91505092959194509250565b60008060008060008060c0878903121561408557600080fd5b60006140918989613d9f565b96505060206140a289828a01613eba565b95505060406140b389828a01613eba565b94505060606140c489828a01613eba565b93505060806140d589828a01613d9f565b92505060a06140e689828a01613eba565b9150509295509295509295565b60008060008060008060c0878903121561410c57600080fd5b60006141188989613d9f565b965050602061412989828a01613eba565b955050604061413a89828a01613eba565b945050606061414b89828a01613eba565b935050608061415c89828a01613eba565b92505060a06140e689828a01613d9f565b6000806000806080858703121561418357600080fd5b600061418f8787613d9f565b94505060206141a087828801613eba565b93505060406141b187828801613eba565b925050606061406087828801613ea4565b600080600080600060a086880312156141da57600080fd5b60006141e68888613daa565b95505060206141f788828901613ec5565b945050604061420888828901613ec5565b935050606061421988828901613ec5565b925050608061422a88828901613eaf565b9150509295509295909350565b60006020828403121561424957600080fd5b815167ffffffffffffffff81111561426057600080fd5b611d4c84828501613db5565b60006020828403121561427e57600080fd5b815167ffffffffffffffff81111561429557600080fd5b611d4c84828501613e34565b6000602082840312156142b357600080fd5b6000611d4c8484613eaf565b6000602082840312156142d157600080fd5b6000611d4c8484613eba565b6000602082840312156142ef57600080fd5b6000611d4c8484613ec5565b60008060006060848603121561431057600080fd5b6000613ffa8686613eba565b6000806040838503121561432f57600080fd5b6000613fc88585613eba565b600080600080600060a0868803121561435357600080fd5b600061435f8888613eba565b955050602061437088828901613eba565b945050604061438188828901613eba565b935050606061439288828901613d9f565b925050608061422a88828901613eba565b600080600080608085870312156143b957600080fd5b600061402d8787613eba565b6000602082840312156143d757600080fd5b6000611d4c8484613ed0565b6000602082840312156143f557600080fd5b6000611d4c8484613edb565b6000806040838503121561441457600080fd5b60006144208585613ec5565b9250506020613f5285828601613eaf565b6000806040838503121561444457600080fd5b60006144508585613ec5565b9250506020613f5285828601613ed0565b6000806040838503121561447457600080fd5b60006144808585613ec5565b9250506020613f5285828601613ec5565b6000806000606084860312156144a657600080fd5b60006144b28686613ec5565b93505060206144c386828701613ec5565b9250506040613f9f86828701613ec5565b60006144e08383614562565b505060200190565b6144f181615596565b82525050565b6144f181615575565b600061450b82615563565b6145158185615567565b93506145208361555d565b8060005b8381101561454e57815161453888826144d4565b97506145438361555d565b925050600101614524565b509495945050505050565b6144f181615580565b6144f18161112b565b6144f16145778261112b565b61112b565b600061458782615563565b6145918185615567565b93506145a18185602086016155ba565b6145aa816155e6565b9093019392505050565b6144f181615585565b6144f1816155a1565b6144f1816155af565b60006145dc601f83615567565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b6000614615603583615567565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061466c601383615567565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b600061469b601e83615567565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b60006146d4601d83615567565b7f43616c6c6572206973206e6f7420616c6c6f77656420746f206d696e74000000815260200192915050565b600061470d600b83615567565b6a135a5b9d0819985a5b195960aa1b815260200192915050565b6000614734601b83615567565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061476d602883615570565b7f45786368616e67655265636c61696d28616464726573732c627974657333322c81526775696e743235362960c01b602082015260280192915050565b60006147b7603e83615570565b7f50796e746845786368616e676528616464726573732c627974657333322c756981527f6e743235362c627974657333322c75696e743235362c616464726573732900006020820152603e0192915050565b6000614816601e83615567565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061484f601783615567565b7f616464726573732063616e6e6f7420626520656d707479000000000000000000815260200192915050565b6000614888601b83615567565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b60006148c1601183615570565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006148ee601583615567565b744d696e74206973206e6f7420617661696c61626c6560581b815260200192915050565b600061491f601b83615567565b7f52657761726473446973747269627574696f6e206e6f74207365740000000000815260200192915050565b6000614958600e83615567565b6d189d5c9b9a5b99c819985a5b195960921b815260200192915050565b6000614982601a83615567565b7f496e76616c6964206e6574776f726b2064656274207368617265000000000000815260200192915050565b60006149bb602f83615567565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000614a0c602183615570565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000614a4f601383615567565b72139bdd08185b1b1bddd959081d1bc81b5a5b9d606a1b815260200192915050565b6000614a7e601f83615567565b7f412070796e7468206f722050455249207261746520697320696e76616c696400815260200192915050565b6000614ab7602183615567565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614afa602783615570565b7f45786368616e676552656261746528616464726573732c627974657333322c75815266696e743235362960c81b602082015260270192915050565b6000614b43602983615570565b7f45786368616e6765547261636b696e6728627974657333322c627974657333328152682c75696e743235362960b81b602082015260290192915050565b6000614b8e601a83615570565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b6000614bc7603283615570565b7f4163636f756e744c69717569646174656428616464726573732c75696e743235815271362c75696e743235362c616464726573732960701b602082015260320192915050565b6000614c1b601983615570565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000614c54601783615567565b7f4163636f756e74206973206f6e20626c61636b6c697374000000000000000000815260200192915050565b6000614c8d600c83615567565b6b4e6f20636c61696d61626c6560a01b815260200192915050565b6000614cb5601583615567565b7410d85b1b195c881a5cc81b9bdd081b585d18da1959605a1b815260200192915050565b6000614ce6602e83615567565b7f427269646765205374617465206d7573742062652073657420746f2063616c6c81526d103a3434b990333ab731ba34b7b760911b602082015260400192915050565b6000614d36601583615567565b744e6f20737570706c79206973206d696e7461626c6560581b815260200192915050565b6000614d67602183615570565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000614daa602783615567565b7f43616e6e6f74207472616e73666572207374616b6564206f7220657363726f778152666564205045524960c81b602082015260400192915050565b6000614df3601483615567565b7343616e6e6f74207472616e73666572207a65726f60601b815260200192915050565b6000614e23601783615567565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000614e5c602083615567565b7f526571756972656420636f6e7472616374206973206e6f742073657420796574815260200192915050565b6144f181615590565b6000610ae682614760565b6000610ae6826147aa565b6000614eb2826148b4565b9150614ebe828461456b565b50602001919050565b6000610ae6826149ff565b6000610ae682614aed565b6000610ae682614b36565b6000610ae682614b81565b6000610ae682614bba565b6000614eb282614c0e565b6000610ae682614d5a565b60208101610ae682846144f7565b60208101610ae682846144e8565b60408101614f3e82856144e8565b6128616020830184614562565b60408101614f5982856144f7565b61286160208301846144f7565b60a08101614f7482886144f7565b614f8160208301876144f7565b614f8e6040830186614562565b614f9b6060830185614562565b610fe76080830184614562565b60e08101614fb6828a6144f7565b614fc360208301896144f7565b614fd06040830188614562565b614fdd6060830187614562565b614fea6080830186614562565b614ff760a08301856144f7565b61500460c0830184614562565b98975050505050505050565b6060810161501e82866144f7565b61502b60208301856144f7565b611d4c6040830184614562565b60408101614f3e82856144f7565b6060810161505482866144f7565b61502b6020830185614562565b60a0810161506f82886144f7565b61507c6020830187614562565b6150896040830186614562565b6150966060830185614562565b610fe760808301846144f7565b60e081016150b1828a6144f7565b6150be6020830189614562565b6150cb6040830188614562565b6150d86060830187614562565b614fea60808301866144f7565b60c081016150f382896144f7565b6151006020830188614562565b61510d6040830187614562565b61511a6060830186614562565b61512760808301856144f7565b612d9360a0830184614562565b6060810161514282866144f7565b61514f6020830185614562565b611d4c60408301846144f7565b6080810161516a82876144f7565b6151776020830186614562565b6151846040830185614562565b6151916060830184614559565b95945050505050565b602080825281016128618184614500565b60208101610ae68284614559565b60208101610ae68284614562565b60408101614f598285614562565b604081016151e38285614562565b6128616020830184614559565b60408101614f3e8285614562565b6040810161520c8285614562565b8181036020830152611d4c818461457c565b60a0810161506f8288614562565b60c0808252810161523d818961457c565b905061524c60208301886145c6565b6152596040830187614562565b61526660608301866145bd565b61527360808301856145bd565b612d9360a08301846145bd565b60c08082528101615291818961457c565b90506152a060208301886145c6565b6152ad6040830187614562565b6152666060830186614562565b60c080825281016152cb818961457c565b90506152da60208301886145c6565b6152e76040830187614562565b6152f46060830186614562565b6152736080830185614562565b60208101610ae682846145b4565b60208082528101612861818461457c565b60208082528101610ae6816145cf565b60208082528101610ae681614608565b60208082528101610ae68161465f565b60208082528101610ae68161468e565b60208082528101610ae6816146c7565b60208082528101610ae681614700565b60208082528101610ae681614727565b60208082528101610ae681614809565b60208082528101610ae681614842565b60208082528101610ae68161487b565b60208082528101610ae6816148e1565b60208082528101610ae681614912565b60208082528101610ae68161494b565b60208082528101610ae681614975565b60208082528101610ae6816149ae565b60208082528101610ae681614a42565b60208082528101610ae681614a71565b60208082528101610ae681614aaa565b60208082528101610ae681614c47565b60208082528101610ae681614c80565b60208082528101610ae681614ca8565b60208082528101610ae681614cd9565b60208082528101610ae681614d29565b60208082528101610ae681614d9d565b60208082528101610ae681614de6565b60208082528101610ae681614e16565b60208082528101610ae681614e4f565b604081016154de8285614562565b61286160208301846145b4565b606081016151428286614562565b606081016150548286614562565b60208101610ae68284614e88565b60405181810167ffffffffffffffff8111828210171561553457600080fd5b604052919050565b600067ffffffffffffffff82111561555357600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b6000610ae682613226565b151590565b6000610ae682615575565b60ff1690565b6000610ae682615585565b6000610ae66145778361112b565b6000610ae68261112b565b60005b838110156155d55781810151838201526020016155bd565b83811115612f5d5750506000910152565b601f01601f191690565b6155f981615575565b8114611f5957600080fd5b6155f981615580565b6155f98161112b565b6155f98161558556fea365627a7a72315820b1e46311855362877d0f347569597361e75b627729d7ad68d0555032ccef6f9d6c6578706572696d656e74616cf564736f6c63430005100040",
			"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"
						},
						{
							"internalType": "address",
							"name": "_minterRole",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_blacklistManager",
							"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": "periRedeemed",
							"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": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"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": true,
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "ExchangeTracking",
					"type": "event",
					"signature": "0x9b39fce028952c685c9c73b2f5f825f8e369fbdaca2bec73c4abb52c2abc123c"
				},
				{
					"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": "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": "PynthExchange",
					"type": "event",
					"signature": "0x4a0ae13ecb43c31fb105d00f9bb9bb573465fe44c0e86d51dc9b6c36090f6e28"
				},
				{
					"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": "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": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "amountsToFitClaimable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "burnAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTokenAmountToUnstake",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbecf5ff8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anyPynthOrPERIRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf5adc4f5"
				},
				{
					"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": "availablePynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd99947de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "availablePynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9df95f9f"
				},
				{
					"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": "blacklistManager",
					"outputs": [
						{
							"internalType": "contract IBlacklistManager",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd9dbf657"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "bridgeState",
					"outputs": [
						{
							"internalType": "contract IBridgeState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4466ec2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_burnAmount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a057b76"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "burnSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xedef719a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "claimAllBridgedAmounts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaf5a5e4c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_index",
							"type": "uint256"
						}
					],
					"name": "claimBridgedAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdd47bddb"
				},
				{
					"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": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xddd03a3f"
				},
				{
					"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": "emitPynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1b99084c"
				},
				{
					"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": 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"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x91e56b68"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x30ead760"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "vPynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0e30963c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe9fad8ee"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_additionalpUSD",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_additionalExToken",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_isIssue",
							"type": "bool"
						}
					],
					"name": "externalTokenQuota",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9288e704"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "fitToClaimable",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x50d0573c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_contractName",
							"type": "bytes32"
						}
					],
					"name": "getRequiredAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2bc93ad6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "inflationMinter",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x321ea17c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_networkDebtShare",
							"type": "uint256"
						}
					],
					"name": "inflationalMint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb13c7e19"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"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": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8e2ac0ea"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_issueAmount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x534f079c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "issuePynthsToMaxQuota",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x85d18d36"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"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": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55182ccb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "migrateEscrowBalanceToRewardEscrowV2",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6b76222f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_user",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "mint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x40c10f19"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "mintSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x666ed4f1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "mintSecondaryRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd8a1f76f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minterRole",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf084219e"
				},
				{
					"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": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_destChainId",
							"type": "uint256"
						}
					],
					"name": "overchainTransfer",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1a8ce1dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pUSD",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf9eea80c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57ad4663"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "pynthAddress",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9a2f3ad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"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": "0x3b09280a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_blacklistManager",
							"type": "address"
						}
					],
					"name": "setBlacklistManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa56c62cf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newBridgeState",
							"type": "address"
						}
					],
					"name": "setBridgeState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x440c6778"
				},
				{
					"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",
							"name": "_newMinter",
							"type": "address"
						}
					],
					"name": "setMinterRole",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x945d1229"
				},
				{
					"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 TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newinflationMinter",
							"type": "address"
						}
					],
					"name": "setinflationMinter",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1c12b566"
				},
				{
					"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": [],
					"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": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd3a71202"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynthsExcludeEtherCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd6980ba1"
				},
				{
					"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": "transferablePeriFinance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c3af98"
				}
			],
			"source": {
				"keccak256": "0x63839beaab819595b145509ccc163fc5463316e478cfeb53eef9b65d2d1fc637",
				"urls": [
					"bzz-raw://2fe7822cf216ec94bc785fa44d08559aa0989525e65615224b070f68fe4dcffb",
					"dweb:/ipfs/QmReAcGzXxUzojKU3B5wVmiX4GAhpL6PJok8n4yMujeckA"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinance.sol": "PeriFinance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinance.sol": {
						"keccak256": "0x63839beaab819595b145509ccc163fc5463316e478cfeb53eef9b65d2d1fc637",
						"urls": [
							"bzz-raw://2fe7822cf216ec94bc785fa44d08559aa0989525e65615224b070f68fe4dcffb",
							"dweb:/ipfs/QmReAcGzXxUzojKU3B5wVmiX4GAhpL6PJok8n4yMujeckA"
						]
					}
				},
				"version": 1
			}
		},
		"MultiCollateralPynth": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620037583803806200375883398181016040526101008110156200003857600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006457600080fd5b9083019060208201858111156200007a57600080fd5b82516401000000008111828201881017156200009557600080fd5b82525081516020918201929091019080838360005b83811015620000c4578181015183820152602001620000aa565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b9083019060208201858111156200012c57600080fd5b82516401000000008111828201881017156200014757600080fd5b82525081516020918201929091019080838360005b83811015620001765781810151838201526020016200015c565b50505050905090810190601f168015620001a45780820380516001836020036101000a031916815260200191505b50604090815260208201519082015160608301516080909301519194509250878787878787878780888888888660128a86816001600160a01b03811662000232576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002dd576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b03881617905584516200035f90600690602088019062000464565b5083516200037590600790602087019062000464565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620003fa576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b0384166200044b576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600b5550620005099b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004a757805160ff1916838001178555620004d7565b82800160010185558215620004d7579182015b82811115620004d7578251825591602001919060010190620004ba565b50620004e5929150620004e9565b5090565b6200050691905b80821115620004e55760008155600101620004f0565b90565b61323f80620005196000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c8063899ffef41161013b578063bc67f832116100b8578063e73cced31161007c578063e73cced314610699578063e90dd9e2146106cf578063eb1edd61146106d7578063ec556889146106df578063f7ea7a3d146106e75761023d565b8063bc67f83214610618578063d67bdd251461063e578063dbd06c8514610646578063dd47bddb1461064e578063dd62ed3e1461066b5761023d565b80639dc29fac116100ff5780639dc29fac146105665780639f76980714610592578063a9059cbb146105b8578063af5a5e4c146105e4578063b014c3a3146105ec5761023d565b8063899ffef4146104d05780638da5cb5b1461052857806395d89b411461053057806397107d6d146105385780639cbdaeb61461055e5761023d565b80632e0f2625116101c957806370a082311161018d57806370a0823114610448578063741853601461046e57806379ba5097146104765780637f4dab2f1461047e578063867904b4146104a45761023d565b80632e0f2625146103ec578063313ce5671461040a578063440c6778146104125780634466ec2c1461043857806353a47bb7146104405761023d565b80631627540c116102105780631627540c1461034b57806318160ddd146103715780631a8ce1dd1461038b57806323b872dd146103ae5780632af64bd3146103e45761023d565b806304f3bcec1461024257806306fdde0314610266578063095ea7b3146102e3578063131b0ae714610323575b600080fd5b61024a610704565b604080516001600160a01b039092168252519081900360200190f35b61026e610718565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a8578181015183820152602001610290565b50505050905090810190601f1680156102d55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61030f600480360360408110156102f957600080fd5b506001600160a01b0381351690602001356107a6565b604080519115158252519081900360200190f35b6103496004803603602081101561033957600080fd5b50356001600160a01b0316610841565b005b6103496004803603602081101561036157600080fd5b50356001600160a01b031661086b565b6103796108c7565b60408051918252519081900360200190f35b610349600480360360408110156103a157600080fd5b50803590602001356108cd565b61030f600480360360608110156103c457600080fd5b506001600160a01b03813581169160208101359091169060400135610a3c565b61030f610a63565b6103f4610b75565b6040805160ff9092168252519081900360200190f35b6103f4610b7a565b6103496004803603602081101561042857600080fd5b50356001600160a01b0316610b83565b61024a610bad565b61024a610bbc565b6103796004803603602081101561045e57600080fd5b50356001600160a01b0316610bcb565b610349610c50565b610349610e2d565b6103796004803603602081101561049457600080fd5b50356001600160a01b0316610ee9565b610349600480360360408110156104ba57600080fd5b506001600160a01b03813516906020013561102c565b6104d86111d1565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105145781810151838201526020016104fc565b505050509050019250505060405180910390f35b61024a61129d565b61026e6112ac565b6103496004803603602081101561054e57600080fd5b50356001600160a01b0316611307565b61024a611363565b6103496004803603604081101561057c57600080fd5b506001600160a01b038135169060200135611372565b610349600480360360208110156105a857600080fd5b50356001600160a01b0316611518565b61030f600480360360408110156105ce57600080fd5b506001600160a01b038135169060200135611547565b6103496115df565b61030f6004803603604081101561060257600080fd5b506001600160a01b038135169060200135611806565b6103496004803603602081101561062e57600080fd5b50356001600160a01b031661195f565b61024a611989565b610379611998565b6103496004803603602081101561066457600080fd5b503561199e565b6103796004803603604081101561068157600080fd5b506001600160a01b0381358116916020013516611a39565b61030f600480360360608110156106af57600080fd5b506001600160a01b03813581169160208101359091169060400135611ac5565b61024a611c15565b61024a611c24565b61024a611c3c565b610349600480360360208110156106fd57600080fd5b5035611c4b565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561079e5780601f106107735761010080835404028352916020019161079e565b820191906000526020600020905b81548152906001019060200180831161078157829003601f168201915b505050505081565b60006107b0611c58565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b15801561081257600080fd5b505af1158015610826573d6000803e3d6000fd5b50505050610835818585611caf565b60019150505b92915050565b610849611de8565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b610873611de8565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b6108d5611c58565b600c546001600160a01b031661091c5760405162461bcd60e51b815260040180806020018281038252602e815260200180613197602e913960400191505060405180910390fd5b60008211610968576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f74207472616e73666572207a65726f60601b604482015290519081900360640190fd5b60045461097e906001600160a01b031683611e31565b6109c0576040805162461bcd60e51b815260206004820152600e60248201526d189d5c9b9a5b99c819985a5b195960921b604482015290519081900360640190fd5b600c546004805460408051630177b2a160e41b81526001600160a01b039283169381019390935260248301869052604483018590525192169163177b2a109160648082019260009290919082900301818387803b158015610a2057600080fd5b505af1158015610a34573d6000803e3d6000fd5b505050505050565b6000610a46611c58565b610a508483611f66565b610a5b8484846120dd565b949350505050565b60006060610a6f6111d1565b905060005b8151811015610b6b576000828281518110610a8b57fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b158015610afa57600080fd5b505afa158015610b0e573d6000803e3d6000fd5b505050506040513d6020811015610b2457600080fd5b50516001600160a01b0316141580610b5157506000818152600a60205260409020546001600160a01b0316155b15610b625760009350505050610b72565b50600101610a74565b5060019150505b90565b601281565b60095460ff1681565b610b8b611de8565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b600c546001600160a01b031681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610c1c57600080fd5b505afa158015610c30573d6000803e3d6000fd5b505050506040513d6020811015610c4657600080fd5b505190505b919050565b6060610c5a6111d1565b905060005b8151811015610e29576000828281518110610c7657fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d41578181015183820152602001610d29565b50505050905090810190601f168015610d6e5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610d8c57600080fd5b505afa158015610da0573d6000803e3d6000fd5b505050506040513d6020811015610db657600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610c5f565b5050565b6001546001600160a01b03163314610e765760405162461bcd60e51b815260040180806020018281038252603581526020018061309f6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600080610ef4612266565b6001600160a01b03166319d5c66584600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610f5357600080fd5b505afa158015610f67573d6000803e3d6000fd5b505050506040513d6060811015610f7d57600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b158015610fd257600080fd5b505afa158015610fe6573d6000803e3d6000fd5b505050506040513d6020811015610ffc57600080fd5b505190508082111561101357600092505050610c4b565b611023818363ffffffff61228216565b92505050610c4b565b60006110366122df565b6001600160a01b0316336001600160a01b03161490506000611056612266565b6001600160a01b0316336001600160a01b031614905060006110766122f4565b6001600160a01b0316336001600160a01b03161490506000611096612308565b6001600160a01b0316336001600160a01b031614905060006110b6612325565b6001600160a01b0316336001600160a01b031614905060006110d6612346565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561112b57600080fd5b505afa15801561113f573d6000803e3d6000fd5b505050506040513d602081101561115557600080fd5b5051905085806111625750845b8061116a5750835b806111725750825b8061117a5750815b806111825750805b6111bd5760405162461bcd60e51b81526004018080602001828103825260448152602001806131036044913960600191505060405180910390fd5b6111c78888612365565b5050505050505050565b6060806111dc61248f565b60408051600380825260808201909252919250606091906020820183803883390190505090507021b7b63630ba32b930b626b0b730b3b2b960791b8160008151811061122457fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b8160018151811061125057fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1c1554d1606a1b8160028151811061128057fe5b602002602001018181525050611296828261254b565b9250505090565b6000546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561079e5780601f106107735761010080835404028352916020019161079e565b61130f611de8565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b600061137c6122df565b6001600160a01b0316336001600160a01b0316149050600061139c612266565b6001600160a01b0316336001600160a01b031614905060006113bc6122f4565b6001600160a01b0316336001600160a01b031614905060006113dc612308565b6001600160a01b0316336001600160a01b031614905060006113fc612325565b6001600160a01b0316336001600160a01b0316149050600061141c612346565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561147157600080fd5b505afa158015611485573d6000803e3d6000fd5b505050506040513d602081101561149b57600080fd5b5051905085806114a85750845b806114b05750835b806114b85750825b806114c05750815b806114c85750805b6115035760405162461bcd60e51b81526004018080602001828103825260448152602001806131036044913960600191505060405180910390fd5b61150d8888611e31565b505050505050505050565b611520612607565b600580546001600160a01b0319166001600160a01b038316179055611544816126b7565b50565b6000611551611c58565b600454611567906001600160a01b031683611f66565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef141561159d5761159683836127fd565b905061083b565b6001600160a01b0383166115c157600454611596906001600160a01b031683611e31565b6004546115d8906001600160a01b03168484612960565b9392505050565b6115e7611c58565b600c546001600160a01b031661162e5760405162461bcd60e51b815260040180806020018281038252602e815260200180613197602e913960400191505060405180910390fd5b600c546004805460408051630145b42f60e31b81526001600160a01b0392831693810193909352516060939190911691630a2da178916024808301926000929190829003018186803b15801561168357600080fd5b505afa158015611697573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156116c057600080fd5b81019080805160405193929190846401000000008211156116e057600080fd5b9083019060208201858111156116f557600080fd5b825186602082028301116401000000008211171561171257600080fd5b82525081516020918201928201910280838360005b8381101561173f578181015183820152602001611727565b5050505090500160405250505090506000815111611793576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20636c61696d61626c6560a01b604482015290519081900360640190fd5b60005b8151811015610e29576117bb8282815181106117ae57fe5b6020026020010151612b8d565b6117fe576040805162461bcd60e51b815260206004820152600f60248201526e4661696c656420746f20636c61696d60881b604482015290519081900360640190fd5b600101611796565b6000611810611c58565b600061181a612266565b60048054600b54604080516306c5a00b60e21b81526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b15801561187557600080fd5b505af1158015611889573d6000803e3d6000fd5b505050506040513d606081101561189f57600080fd5b5060400151905082811561192d5760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b1580156118fe57600080fd5b505afa158015611912573d6000803e3d6000fd5b505050506040513d602081101561192857600080fd5b505190505b80841161193a578361193c565b805b600454909450611956906001600160a01b03168686612960565b95945050505050565b611967612ce8565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600b5481565b6119a6611c58565b600c546001600160a01b03166119ed5760405162461bcd60e51b815260040180806020018281038252602e815260200180613197602e913960400191505060405180910390fd5b6119f681612b8d565b611544576040805162461bcd60e51b815260206004820152600f60248201526e4661696c656420746f20636c61696d60881b604482015290519081900360640190fd5b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015611a9257600080fd5b505afa158015611aa6573d6000803e3d6000fd5b505050506040513d6020811015611abc57600080fd5b50519392505050565b6000611acf611c58565b6000611ad9612266565b6001600160a01b0316631b16802c86600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015611b3a57600080fd5b505af1158015611b4e573d6000803e3d6000fd5b505050506040513d6060811015611b6457600080fd5b50604001519050828115611bee57600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015611bbf57600080fd5b505afa158015611bd3573d6000803e3d6000fd5b505050506040513d6020811015611be957600080fd5b505190505b80841015611bfc5783611bfe565b805b9350611c0b8686866120dd565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611c53612607565b600855565b6002546001600160a01b03163314801590611c7e57506003546001600160a01b03163314155b8015611c9557506004546001600160a01b03163314155b15611cad57600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021613176823960210190506040518091039020611d0288612d5c565b611d0b88612d5c565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015611d7a578181015183820152602001611d62565b50505050905090810190601f168015611da75780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015611dcb57600080fd5b505af1158015611ddf573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b03163314611cad5760405162461bcd60e51b815260040180806020018281038252602f815260200180613147602f913960400191505060405180910390fd5b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f6918691611ec991879186916370a08231916024808301926020929190829003018186803b158015611e9157600080fd5b505afa158015611ea5573d6000803e3d6000fd5b505050506040513d6020811015611ebb57600080fd5b50519063ffffffff61228216565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611f1857600080fd5b505af1158015611f2c573d6000803e3d6000fd5b5050600854611f44925090508363ffffffff61228216565b600855611f5383600084612d68565b611f5d8383612dbb565b50600192915050565b611f6e612266565b6001600160a01b031663059c29ec83600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015611fcd57600080fd5b505afa158015611fe1573d6000803e3d6000fd5b505050506040513d6020811015611ff757600080fd5b5051156120355760405162461bcd60e51b81526004018080602001828103825260258152602001806131c56025913960400191505060405180910390fd5b8061203f83610ee9565b101561207c5760405162461bcd60e51b815260040180806020018281038252602f8152602001806130d4602f913960400191505060405180910390fd5b612084612ee8565b6001600160a01b0316631d7e7789600b546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b1580156120c957600080fd5b505afa158015610a34573d6000803e3d6000fd5b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b15801561213b57600080fd5b505afa15801561214f573d6000803e3d6000fd5b505050506040513d602081101561216557600080fd5b50511461225b576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c9288926121da918891879163dd62ed3e91604480820192602092909190829003018186803b158015611e9157600080fd5b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b15801561224257600080fd5b505af1158015612256573d6000803e3d6000fd5b505050505b610a5b848484612960565b600061227d6822bc31b430b733b2b960b91b612efe565b905090565b6000828211156122d9576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600061227d66119959541bdbdb60ca1b612efe565b600061227d6524b9b9bab2b960d11b612efe565b600061227d6e115d1a195c90dbdb1b185d195c985b608a1b612efe565b600061227d72115d1a195c90dbdb1b185d195c985b1c1554d1606a1b612efe565b600061227d7021b7b63630ba32b930b626b0b730b3b2b960791b612efe565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f69185916123fb91869186916370a0823191602480820192602092909190829003018186803b1580156123c357600080fd5b505afa1580156123d7573d6000803e3d6000fd5b505050506040513d60208110156123ed57600080fd5b50519063ffffffff612fdb16565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561244a57600080fd5b505af115801561245e573d6000803e3d6000fd5b5050600854612476925090508263ffffffff612fdb16565b60085561248560008383612d68565b610e298282613035565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b816000815181106124cf57fe5b6020026020010181815250506822bc31b430b733b2b960b91b816001815181106124f557fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061251857fe5b60200260200101818152505066119959541bdbdb60ca1b8160038151811061253c57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561257b578160200160208202803883390190505b50905060005b83518110156125bd5783818151811061259657fe5b60200260200101518282815181106125aa57fe5b6020908102919091010152600101612581565b5060005b8251811015612600578281815181106125d657fe5b60200260200101518282865101815181106125ed57fe5b60209081029190910101526001016125c1565b5092915050565b6002546001600160a01b0316331480159061262d57506003546001600160a01b03163314155b801561264457506004546001600160a01b03163314155b1561265c57600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614611cad576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b83811015612791578181015183820152602001612779565b50505050905090810190601f1680156127be5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156127e257600080fd5b505af11580156127f6573d6000803e3d6000fd5b5050505050565b600080600b54631c1554d160e21b14156128315750600454829061282b906001600160a01b03168583612960565b506128f1565b612839612266565b60048054600b5460408051630a1e187d60e01b81526001600160a01b0393841694810194909452602484019190915260448301879052631c1554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b1580156128c257600080fd5b505af11580156128d6573d6000803e3d6000fd5b505050506040513d60208110156128ec57600080fd5b505190505b6128f96122df565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561293e57600080fd5b505af1158015612952573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b0383161580159061298357506001600160a01b0383163014155b801561299d57506002546001600160a01b03848116911614155b6129ee576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f6918791612a4c91879186916370a0823191602480820192602092909190829003018186803b158015611e9157600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f692508691612b1191879186916370a0823191602480820192602092909190829003018186803b1580156123c357600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612b6057600080fd5b505af1158015612b74573d6000803e3d6000fd5b50505050612b83848484612d68565b5060019392505050565b600c5460408051631e1d164f60e01b8152600481018490529051600092839283926001600160a01b0390921691631e1d164f9160248082019260a092909190829003018186803b158015612be057600080fd5b505afa158015612bf4573d6000803e3d6000fd5b505050506040513d60a0811015612c0a57600080fd5b50805160209091015160045491935091506001600160a01b03808416911614612c72576040805162461bcd60e51b815260206004820152601560248201527410d85b1b195c881a5cc81b9bdd081b585d18da1959605a1b604482015290519081900360640190fd5b600c546040805163484f80c560e11b8152600481018790526024810184905290516001600160a01b039092169163909f018a9160448082019260009290919082900301818387803b158015612cc657600080fd5b505af1158015612cda573d6000803e3d6000fd5b50505050612b838282612365565b6002546001600160a01b0316331480612d0b57506003546001600160a01b031633145b611cad576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b6001600160a01b031690565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff97916003908060216131ea823960210190506040518091039020611d0288612d5c565b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff9792612e2487612d5c565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015612e97578181015183820152602001612e7f565b50505050905090810190601f168015612ec45780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015610a2057600080fd5b600061227d6b53797374656d53746174757360a01b5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816126005760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612fa0578181015183820152602001612f88565b50505050905090810190601f168015612fcd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000828201838110156115d8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff9792612e2487612d5c56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e6765722c20497373756572206f72204d756c7469436f6c6c61746572616c20636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e7432353629427269646765205374617465206d7573742062652073657420746f2063616c6c20746869732066756e6374696f6e43616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a7231582037661c08b619098d25349015672eec3e24c59f7b0fb0b7d839cb30aa5f34223264736f6c63430005100032",
			"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": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"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": "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": 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": "bridgeState",
					"outputs": [
						{
							"internalType": "contract IBridgeState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4466ec2c"
				},
				{
					"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": false,
					"inputs": [],
					"name": "claimAllBridgedAmounts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaf5a5e4c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_index",
							"type": "uint256"
						}
					],
					"name": "claimBridgedAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdd47bddb"
				},
				{
					"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": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"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": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_destChainId",
							"type": "uint256"
						}
					],
					"name": "overchainTransfer",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1a8ce1dd"
				},
				{
					"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": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newBridgeState",
							"type": "address"
						}
					],
					"name": "setBridgeState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x440c6778"
				},
				{
					"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 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": 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": "transferablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7f4dab2f"
				}
			],
			"source": {
				"keccak256": "0x03062f88081c3edd7eff2246a0d917ab34c1b6e7437da0511d0775e01cca182b",
				"urls": [
					"bzz-raw://00abc190bb71c4c30fbcb3a62c3b0bf7a6e7b555d0f431ddb52b1ae0d03a8378",
					"dweb:/ipfs/Qmb1LmDv4grazdzXrpFRnUUHtrmexLhCZ2bLbRNDqfeGdp"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"MultiCollateralPynth.sol": "MultiCollateralPynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"MultiCollateralPynth.sol": {
						"keccak256": "0x03062f88081c3edd7eff2246a0d917ab34c1b6e7437da0511d0775e01cca182b",
						"urls": [
							"bzz-raw://00abc190bb71c4c30fbcb3a62c3b0bf7a6e7b555d0f431ddb52b1ae0d03a8378",
							"dweb:/ipfs/Qmb1LmDv4grazdzXrpFRnUUHtrmexLhCZ2bLbRNDqfeGdp"
						]
					}
				},
				"version": 1
			}
		},
		"MockToken": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162000f7b38038062000f7b833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b50604052602090810151855190935085925084918491620001c091600391908601906200036e565b508151620001d69060049060208501906200036e565b506005805460ff191660ff9283161790556200020292503391508316600a0a6402540be400026200020b565b50505062000413565b6001600160a01b03821662000267576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b62000283816002546200030c60201b620009021790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002b6918390620009026200030c821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282018381101562000367576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003b157805160ff1916838001178555620003e1565b82800160010185558215620003e1579182015b82811115620003e1578251825591602001919060010190620003c4565b50620003ef929150620003f3565b5090565b6200041091905b80821115620003ef5760008155600101620003fa565b90565b610b5880620004236000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461021057806395d89b4114610236578063a457c2d71461023e578063a9059cbb1461026a578063b86d1d6314610296578063dd62ed3e146102be576100b4565b806306fdde03146100b9578063095ea7b31461013657806318160ddd1461017657806323b872dd14610190578063313ce567146101c657806339509351146101e4575b600080fd5b6100c16102ec565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fb5781810151838201526020016100e3565b50505050905090810190601f1680156101285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101626004803603604081101561014c57600080fd5b506001600160a01b038135169060200135610382565b604080519115158252519081900360200190f35b61017e610398565b60408051918252519081900360200190f35b610162600480360360608110156101a657600080fd5b506001600160a01b0381358116916020810135909116906040013561039e565b6101ce610457565b6040805160ff9092168252519081900360200190f35b610162600480360360408110156101fa57600080fd5b506001600160a01b038135169060200135610460565b61017e6004803603602081101561022657600080fd5b50356001600160a01b031661049c565b6100c16104b7565b6101626004803603604081101561025457600080fd5b506001600160a01b038135169060200135610518565b6101626004803603604081101561028057600080fd5b506001600160a01b0381351690602001356105b5565b6102bc600480360360208110156102ac57600080fd5b50356001600160a01b03166105c2565b005b61017e600480360360408110156102d457600080fd5b506001600160a01b03813581169160200135166105df565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103785780601f1061034d57610100808354040283529160200191610378565b820191906000526020600020905b81548152906001019060200180831161035b57829003601f168201915b5050505050905090565b600061038f33848461060a565b50600192915050565b60025490565b60006103ab8484846106f6565b6001600160a01b038416600090815260016020908152604080832033845290915290205482111561040d5760405162461bcd60e51b8152600401808060200182810382526021815260200180610a996021913960400191505060405180910390fd5b6001600160a01b03841660009081526001602090815260408083203380855292529091205461044d918691610448908663ffffffff6108a516565b61060a565b5060019392505050565b60055460ff1690565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161038f918590610448908663ffffffff61090216565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103785780601f1061034d57610100808354040283529160200191610378565b3360009081526001602090815260408083206001600160a01b038616845290915281205482111561057a5760405162461bcd60e51b8152600401808060200182810382526021815260200180610b036021913960400191505060405180910390fd5b3360008181526001602090815260408083206001600160a01b038816845290915290205461038f91908590610448908663ffffffff6108a516565b600061038f3384846106f6565b6105dc816105ce610457565b60ff16600a0a606402610963565b50565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661064f5760405162461bcd60e51b8152600401808060200182810382526024815260200180610adf6024913960400191505060405180910390fd5b6001600160a01b0382166106945760405162461bcd60e51b8152600401808060200182810382526022815260200180610a776022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661073b5760405162461bcd60e51b8152600401808060200182810382526025815260200180610aba6025913960400191505060405180910390fd5b6001600160a01b0382166107805760405162461bcd60e51b8152600401808060200182810382526023815260200180610a546023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020548111156107ed576040805162461bcd60e51b815260206004820152601860248201527f5472616e7366657220657863656564732062616c616e63650000000000000000604482015290519081900360640190fd5b6001600160a01b038316600090815260208190526040902054610816908263ffffffff6108a516565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461084b908263ffffffff61090216565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156108fc576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561095c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166109be576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6002546109d1908263ffffffff61090216565b6002556001600160a01b0382166000908152602081905260409020546109fd908263ffffffff61090216565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373446563726561736520616d6f756e74206578636565647320616c6c6f77616e6365a265627a7a72315820ac7df1c1ae16b8935f30cd4f6e3f17fd84a4bd4db1467fef56c4377335fca22264736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "string",
							"name": "name",
							"type": "string"
						},
						{
							"internalType": "string",
							"name": "symbol",
							"type": "string"
						},
						{
							"internalType": "uint8",
							"name": "decimals",
							"type": "uint8"
						}
					],
					"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": "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": [
						{
							"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": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "subtractedValue",
							"type": "uint256"
						}
					],
					"name": "decreaseAllowance",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa457c2d7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "faucet",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb86d1d63"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "addedValue",
							"type": "uint256"
						}
					],
					"name": "increaseAllowance",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x39509351"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"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": "recipient",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				}
			],
			"source": {
				"keccak256": "0xe2b4ff98fa89ef9ea0e4b24513b5f1af7fbb752a319cbcd5e88e1bc619aa35c9",
				"urls": [
					"bzz-raw://bf7f803387cf2dcd490838a58f1a11571e4c95d343be91c155c51c3702eab5f5",
					"dweb:/ipfs/QmQZZ6PfcZx4GDiwuWGvJN6ThMDk3Sk2wQNMMrUZfLyJkg"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"test-helpers/MockToken.sol": "MockToken"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"test-helpers/MockToken.sol": {
						"keccak256": "0xe2b4ff98fa89ef9ea0e4b24513b5f1af7fbb752a319cbcd5e88e1bc619aa35c9",
						"urls": [
							"bzz-raw://bf7f803387cf2dcd490838a58f1a11571e4c95d343be91c155c51c3702eab5f5",
							"dweb:/ipfs/QmQZZ6PfcZx4GDiwuWGvJN6ThMDk3Sk2wQNMMrUZfLyJkg"
						]
					}
				},
				"version": 1
			}
		},
		"StakingState": {
			"bytecode": "608060405234801561001057600080fd5b506040516113af3803806113af8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050611209806101a66000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806377e15451116100ad57806397bb3ce91161007157806397bb3ce9146103c95780639d88955f146103e65780639ead72221461040b578063a98b9ff414610428578063aefc4ccb1461045a5761012c565b806377e154511461034d57806379ba50971461036a5780638547dbd9146103725780638c610c8d1461038f5780638da5cb5b146103c15761012c565b806344aedc5f116100f457806344aedc5f1461024c578063480310bb1461027f57806352f445ca146102ab57806353a47bb7146102d15780635b081237146102f55761012c565b80631627540c146101315780632c20fce21461015957806337092864146101885780633f6a1607146101d15780634020ed1414610206575b600080fd5b6101576004803603602081101561014757600080fd5b50356001600160a01b0316610462565b005b6101766004803603602081101561016f57600080fd5b50356104be565b60408051918252519081900360200190f35b6101a56004803603602081101561019e57600080fd5b50356104d0565b604080516001600160a01b03909416845260ff9092166020840152151582820152519081900360600190f35b610157600480360360608110156101e757600080fd5b5080359060208101356001600160a01b0316906040013560ff16610501565b6102386004803603606081101561021c57600080fd5b508035906001600160a01b0360208201351690604001356106a1565b604080519115158252519081900360200190f35b6102696004803603602081101561026257600080fd5b50356107e7565b6040805160ff9092168252519081900360200190f35b6101766004803603604081101561029557600080fd5b50803590602001356001600160a01b0316610803565b610157600480360360208110156102c157600080fd5b50356001600160a01b0316610820565b6102d961087c565b604080516001600160a01b039092168252519081900360200190f35b6102fd61088b565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610339578181015183820152602001610321565b505050509050019250505060405180910390f35b6101766004803603602081101561036357600080fd5b50356108e3565b6101576108f5565b6102386004803603602081101561038857600080fd5b50356109b1565b610157600480360360608110156103a557600080fd5b508035906001600160a01b0360208201351690604001356109cd565b6102d9610b9b565b6102d9600480360360208110156103df57600080fd5b5035610baa565b610157600480360360408110156103fc57600080fd5b50803590602001351515610bc5565b6101766004803603602081101561042157600080fd5b5035610c01565b6101576004803603606081101561043e57600080fd5b508035906001600160a01b036020820135169060400135610c1f565b6102d9610e2a565b61046a610e39565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60056020526000908152604090205481565b6003602052600090815260409020546001600160a01b0381169060ff600160a01b8204811691600160a81b90041683565b610509610e39565b6001600160a01b038216610564576040805162461bcd60e51b815260206004820152601760248201527f416464726573732063616e6e6f7420626520656d707479000000000000000000604482015290519081900360640190fd5b6000838152600360205260409020546001600160a01b0316156105ce576040805162461bcd60e51b815260206004820152601b60248201527f546f6b656e20697320616c726561647920726567697374657265640000000000604482015290519081900360640190fd5b6000838152600360205260409020546001600160a01b031661062057600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018390555b604080516060810182526001600160a01b03938416815260ff92831660208083019182526001838501908152600097885260039091529290952090518154955192516001600160a01b031990961694169390931760ff60a01b1916600160a01b91909216021760ff60a81b1916600160a81b92151592909202919091179055565b6002546000906001600160a01b031633146106ed5760405162461bcd60e51b815260040180806020018281038252603481526020018061117d6034913960400191505060405180910390fd5b6000848152600360205260408120546012600160a01b90910460ff1610610715576000610732565b600085815260036020526040902054600160a01b900460ff166012035b60ff16905061074085610e84565b6001600160a01b031663a9059cbb8561076386600a86900a63ffffffff610f0916565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107b257600080fd5b505af11580156107c6573d6000803e3d6000fd5b505050506040513d60208110156107dc57600080fd5b505195945050505050565b600090815260036020526040902054600160a01b900460ff1690565b600460209081526000928352604080842090915290825290205481565b610828610e39565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b606060078054806020026020016040519081016040528092919081815260200182805480156108d957602002820191906000526020600020905b8154815260200190600101908083116108c5575b5050505050905090565b60066020526000908152604090205481565b6001546001600160a01b0316331461093e5760405162461bcd60e51b81526004018080602001828103825260358152602001806110f06035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600090815260036020526040902054600160a81b900460ff1690565b6002546001600160a01b03163314610a165760405162461bcd60e51b815260040180806020018281038252603481526020018061117d6034913960400191505060405180910390fd5b610a1f83610f73565b600083815260036020526040902054600160a81b900460ff16610a89576040805162461bcd60e51b815260206004820152601d60248201527f54617267657420746f6b656e206973206e6f7420616374697661746564000000604482015290519081900360640190fd5b60008381526004602090815260408083206001600160a01b0386168452909152902054158015610ab95750600081115b15610ac757610ac783610fdf565b60008381526004602090815260408083206001600160a01b0386168452909152902054610afa908263ffffffff61101116565b60008481526004602090815260408083206001600160a01b0387168452825280832093909355858252600590522054610b39908263ffffffff61101116565b6000848152600560209081526040918290209290925580518581526001600160a01b03851692810192909252818101839052517ffba03de4f3817b65c8bbd83551b938ace8f4a72bfad6821d9b4088bd6a2079809181900360600190a1505050565b6000546001600160a01b031681565b6000908152600360205260409020546001600160a01b031690565b610bcd610e39565b610bd682610f73565b6000918252600360205260409091208054911515600160a81b0260ff60a81b19909216919091179055565b60078181548110610c0e57fe5b600091825260209091200154905081565b6002546001600160a01b03163314610c685760405162461bcd60e51b815260040180806020018281038252603481526020018061117d6034913960400191505060405180910390fd5b60008381526004602090815260408083206001600160a01b0386168452909152902054811115610cc95760405162461bcd60e51b81526004018080602001828103825260298152602001806111256029913960400191505060405180910390fd5b600083815260056020526040902054811115610d165760405162461bcd60e51b81526004018080602001828103825260248152602001806111b16024913960400191505060405180910390fd5b60008381526004602090815260408083206001600160a01b0386168452909152902054610d49908263ffffffff61107216565b610d5657610d56836110cf565b60008381526004602090815260408083206001600160a01b0386168452909152902054610d89908263ffffffff61107216565b60008481526004602090815260408083206001600160a01b0387168452825280832093909355858252600590522054610dc8908263ffffffff61107216565b6000848152600560209081526040918290209290925580518581526001600160a01b03851692810192909252818101839052517ffce1a9063ab422f6b95f8c9d5e2bee83ae07416cd5859af625809f3078f5d9589181900360600190a1505050565b6002546001600160a01b031681565b6000546001600160a01b03163314610e825760405162461bcd60e51b815260040180806020018281038252602f81526020018061114e602f913960400191505060405180910390fd5b565b6000818152600360205260408120546001600160a01b0316610eed576040805162461bcd60e51b815260206004820152601760248201527f546172676574206164647265737320697320656d707479000000000000000000604482015290519081900360640190fd5b506000908152600360205260409020546001600160a01b031690565b6000808211610f5f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610f6a57fe5b04949350505050565b6000818152600360205260409020546001600160a01b0316610fdc576040805162461bcd60e51b815260206004820152601e60248201527f54617267657420746f6b656e206973206e6f7420726567697374657265640000604482015290519081900360640190fd5b50565b600081815260066020526040902054610fff90600163ffffffff61101116565b60009182526006602052604090912055565b60008282018381101561106b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000828211156110c9576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600081815260066020526040902054610fff90600163ffffffff6110721656fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704163636f756e7420646f65736e2774206861766520656e6f756768207374616b656420616d6f756e744f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e4e6f7420656e6f756768207374616b656420616d6f756e7420746f207769746864726177a265627a7a72315820100aaf008aa329c7f76d63d587a7fe0a735be0a0efc125850752628249fd07ec64736f6c63430005100032",
			"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Staking",
					"type": "event",
					"signature": "0xfba03de4f3817b65c8bbd83551b938ace8f4a72bfad6821d9b4088bd6a207980"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Unstaking",
					"type": "event",
					"signature": "0xfce1a9063ab422f6b95f8c9d5e2bee83ae07416cd5859af625809f3078f5d958"
				},
				{
					"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": true,
					"inputs": [],
					"name": "getTokenCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5b081237"
				},
				{
					"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": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "refund",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4020ed14"
				},
				{
					"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": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_tokenAddress",
							"type": "address"
						},
						{
							"internalType": "uint8",
							"name": "_decimals",
							"type": "uint8"
						}
					],
					"name": "setTargetToken",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3f6a1607"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "_activate",
							"type": "bool"
						}
					],
					"name": "setTokenActivation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9d88955f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8c610c8d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "stakedAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x480310bb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "targetTokens",
					"outputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "uint8",
							"name": "decimals",
							"type": "uint8"
						},
						{
							"internalType": "bool",
							"name": "activated",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37092864"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "tokenActivated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8547dbd9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "tokenAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97bb3ce9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "tokenDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44aedc5f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "tokenList",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9ead7222"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "totalStakedAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2c20fce2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "totalStakerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x77e15451"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "unstake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa98b9ff4"
				}
			],
			"source": {
				"keccak256": "0x84408b37c4b8e3a93a7771be269700965ed87c5f45aa7ae731e103564a7ad03f",
				"urls": [
					"bzz-raw://aca85571cc4f488cb3e1c75d3b2013e639b2dcaf489a62b4bcccadfe4e512d40",
					"dweb:/ipfs/QmYxDqKmci6eSWKQ79EhSX5kTAMThUSZVqrM88Zpzupe7L"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"StakingState.sol": "StakingState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"StakingState.sol": {
						"keccak256": "0x84408b37c4b8e3a93a7771be269700965ed87c5f45aa7ae731e103564a7ad03f",
						"urls": [
							"bzz-raw://aca85571cc4f488cb3e1c75d3b2013e639b2dcaf489a62b4bcccadfe4e512d40",
							"dweb:/ipfs/QmYxDqKmci6eSWKQ79EhSX5kTAMThUSZVqrM88Zpzupe7L"
						]
					}
				},
				"version": 1
			}
		},
		"ExternalTokenStakeManager": {
			"bytecode": "608060405234801561001057600080fd5b50604051612bad380380612bad8339818101604052606081101561003357600080fd5b50805160208201516040909201519091906249d4008180856001600160a01b0381166100a6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039283166001600160a01b03199182161790915542909301600455600580549590911694909216939093179055505050612a64806101496000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80637a84b617116100de578063b12e441011610097578063da224edd11610071578063da224edd14610490578063e06c707a146104d0578063e082f1d414610510578063ff18cf46146105185761018e565b8063b12e44101461041e578063b23e50531461043b578063b25dfddb146104735761018e565b80637a84b61714610310578063899ffef41461033c5780638da5cb5b14610344578063a42ed21f1461034c578063ad47ffc5146103ba578063adba5c68146103ec5761018e565b806346ba2d901161014b5780635b6f3979116101255780635b6f3979146102db578063614d08f8146102f8578063741853601461030057806379ba5097146103085761018e565b806346ba2d90146102815780634b1836b01461029b57806353a47bb7146102d35761018e565b806304f3bcec1461019357806308dbc561146101b75780630fc3fc8c1461020f5780631627540c14610237578063273cbaa01461025d5780632af64bd314610265575b600080fd5b61019b61054b565b604080516001600160a01b039092168252519081900360200190f35b6101bf61055a565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101fb5781810151838201526020016101e3565b505050509050019250505060405180910390f35b6102356004803603602081101561022557600080fd5b50356001600160a01b03166105b3565b005b6102356004803603602081101561024d57600080fd5b50356001600160a01b03166105dd565b6101bf610639565b61026d61074a565b604080519115158252519081900360200190f35b610289610854565b60408051918252519081900360200190f35b610235600480360360808110156102b157600080fd5b506001600160a01b03813516906020810135906040810135906060013561085a565b61019b610af7565b61026d600480360360208110156102f157600080fd5b5035610b06565b610289610b84565b610235610ba8565b610235610d70565b6102896004803603604081101561032657600080fd5b506001600160a01b038135169060200135610e2c565b6101bf610e41565b61019b610ece565b6102356004803603602081101561036257600080fd5b810190602081018135600160201b81111561037c57600080fd5b82018360208201111561038e57600080fd5b803590602001918460208302840111600160201b831117156103af57600080fd5b509092509050610edd565b610289600480360360608110156103d057600080fd5b506001600160a01b03813516906020810135906040013561107d565b6102356004803603606081101561040257600080fd5b506001600160a01b0381351690602081013590604001356111a4565b61019b6004803603602081101561043457600080fd5b50356115ca565b6102356004803603608081101561045157600080fd5b506001600160a01b038135169060208101359060408101359060600135611616565b6102896004803603602081101561048957600080fd5b503561163f565b610235600480360360a08110156104a657600080fd5b506001600160a01b038135169060208101359060408101359060608101359060800135151561165d565b610289600480360360a08110156104e657600080fd5b506001600160a01b03813516906020810135906040810135906060810135906080013515156118ac565b61019b6118c7565b6105356004803603602081101561052e57600080fd5b50356118d6565b6040805160ff9092168252519081900360200190f35b6002546001600160a01b031681565b606060068054806020026020016040519081016040528092919081815260200182805480156105a857602002820191906000526020600020905b815481526020019060010190808311610594575b505050505090505b90565b6105bb611922565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6105e5611922565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60055460408051635b08123760e01b815290516060926001600160a01b031691635b081237916004808301926000929190829003018186803b15801561067e57600080fd5b505afa158015610692573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156106bb57600080fd5b8101908080516040519392919084600160201b8211156106da57600080fd5b9083019060208201858111156106ef57600080fd5b82518660208202830111600160201b8211171561070b57600080fd5b82525081516020918201928201910280838360005b83811015610738578181015183820152602001610720565b50505050905001604052505050905090565b60006060610756610e41565b905060005b815181101561084b57600082828151811061077257fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156107da57600080fd5b505afa1580156107ee573d6000803e3d6000fd5b505050506040513d602081101561080457600080fd5b50516001600160a01b031614158061083157506000818152600360205260409020546001600160a01b0316155b1561084257600093505050506105b0565b5060010161075b565b50600191505090565b60045481565b61086261196d565b600061086f8284866119d1565b600554604080516344aedc5f60e01b81526004810187905290519293506000926001600160a01b03909216916344aedc5f91602480820192602092909190829003018186803b1580156108c157600080fd5b505afa1580156108d5573d6000803e3d6000fd5b505050506040513d60208110156108eb57600080fd5b505160ff1690506012811115610941576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103232b1b4b6b0b610373ab6b132b960511b604482015290519081900360640190fd5b600061096461095760128463ffffffff611b5b16565b849063ffffffff611bb816565b905061096f85611c0f565b6005546001600160a01b03918216916323b872dd918a91166109ab61099b60128863ffffffff611b5b16565b8690600a0a63ffffffff611c9a16565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610a1357600080fd5b505af1158015610a27573d6000803e3d6000fd5b505050506040513d6020811015610a3d57600080fd5b5051610a7a5760405162461bcd60e51b815260040180806020018281038252602a8152602001806129d5602a913960400191505060405180910390fd5b60055460408051638c610c8d60e01b8152600481018890526001600160a01b038a811660248301526044820185905291519190921691638c610c8d91606480830192600092919082900301818387803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b5050505050505050505050565b6001546001600160a01b031681565b60055460408051638547dbd960e01b81526004810184905290516000926001600160a01b031691638547dbd9916024808301926020929190829003018186803b158015610b5257600080fd5b505afa158015610b66573d6000803e3d6000fd5b505050506040513d6020811015610b7c57600080fd5b505192915050565b7f45787465726e616c546f6b656e5374616b654d616e616765720000000000000081565b6060610bb2610e41565b905060005b8151811015610d6c576000828281518110610bce57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610c84578181015183820152602001610c6c565b50505050905090810190601f168015610cb15780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610ccf57600080fd5b505afa158015610ce3573d6000803e3d6000fd5b505050506040513d6020811015610cf957600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610bb7565b5050565b6001546001600160a01b03163314610db95760405162461bcd60e51b81526004018080602001828103825260358152602001806129076035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610e388383611d04565b90505b92915050565b606080610e4c611f28565b6040805160028082526060808301845293945090916020830190803883390190505090506524b9b9bab2b960d11b81600081518110610e8757fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610eb157fe5b602002602001018181525050610ec78282611f79565b9250505090565b6000546001600160a01b031681565b610ee5611922565b60055460408051635b08123760e01b815290516060926001600160a01b031691635b081237916004808301926000929190829003018186803b158015610f2a57600080fd5b505afa158015610f3e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f6757600080fd5b8101908080516040519392919084600160201b821115610f8657600080fd5b908301906020820185811115610f9b57600080fd5b82518660208202830111600160201b82111715610fb757600080fd5b82525081516020918201928201910280838360005b83811015610fe4578181015183820152602001610fcc565b5050505090500160405250505090506110308184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061203592505050565b61106b5760405162461bcd60e51b815260040180806020018281038252602581526020018061293c6025913960400191505060405180910390fd5b611077600684846128a1565b50505050565b60008183141561110e576005546040805163480310bb60e01b8152600481018690526001600160a01b0387811660248301529151919092169163480310bb916044808301926020929190829003018186803b1580156110db57600080fd5b505afa1580156110ef573d6000803e3d6000fd5b505050506040513d602081101561110557600080fd5b5051905061119d565b6005546040805163480310bb60e01b8152600481018690526001600160a01b038781166024830152915161119a938793879391169163480310bb91604480820192602092909190829003018186803b15801561116957600080fd5b505afa15801561117d573d6000803e3d6000fd5b505050506040513d602081101561119357600080fd5b50516119d1565b90505b9392505050565b6111ac61196d565b60055460408051635b08123760e01b815290516060926001600160a01b031691635b081237916004808301926000929190829003018186803b1580156111f157600080fd5b505afa158015611205573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561122e57600080fd5b8101908080516040519392919084600160201b82111561124d57600080fd5b90830190602082018581111561126257600080fd5b82518660208202830111600160201b8211171561127e57600080fd5b82525081516020918201928201910280838360005b838110156112ab578181015183820152602001611293565b505050509050016040525050509050606061131682600680548060200260200160405190810160405280929190818152602001828054801561130c57602002820191906000526020600020905b8154815260200190600101908083116112f8575b5050505050612035565b611321575080611375565b600680548060200260200160405190810160405280929190818152602001828054801561136d57602002820191906000526020600020905b815481526020019060010190808311611359575b505050505090505b60006113818685611d04565b9050848110156113c25760405162461bcd60e51b81526004018080602001828103825260248152602001806129b16024913960400191505060405180910390fd5b606082516040519080825280602002602001820160405280156113ef578160200160208202803883390190505b50905060005b83518110156115595760055484516000916001600160a01b03169063480310bb9087908590811061142257fe5b60200260200101518b6040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b15801561147857600080fd5b505afa15801561148c573d6000803e3d6000fd5b505050506040513d60208110156114a257600080fd5b505185519091506000906114cc9089908890869081106114be57fe5b60200260200101518b6119d1565b90508082101561152557818484815181106114e357fe5b60209081029190910101526114fe818363ffffffff611b5b16565b905061151e86848151811061150f57fe5b602002602001015189836119d1565b9850611543565b8084848151811061153257fe5b602002602001018181525050600098505b8861154f575050611559565b50506001016113f5565b5060005b83518110156115c05781818151811061157257fe5b602002602001015160001415611587576115b8565b6115b88883838151811061159757fe5b60200260200101518684815181106115ab57fe5b60200260200101516120c4565b60010161155d565b5050505050505050565b600554604080516397bb3ce960e01b81526004810184905290516000926001600160a01b0316916397bb3ce9916024808301926020929190829003018186803b158015610b5257600080fd5b61161e61196d565b600061162b8284866119d1565b90506116388582856120c4565b5050505050565b6006818154811061164c57fe5b600091825260209091200154905081565b600061166c868686868661230e565b90506060600560009054906101000a90046001600160a01b03166001600160a01b0316635b0812376040518163ffffffff1660e01b815260040160006040518083038186803b1580156116be57600080fd5b505afa1580156116d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156116fb57600080fd5b8101908080516040519392919084600160201b82111561171a57600080fd5b90830190602082018581111561172f57600080fd5b82518660208202830111600160201b8211171561174b57600080fd5b82525081516020918201928201910280838360005b83811015611778578181015183820152602001611760565b5050505091909101604052509293506012925060009150505b82518110156118455760055483516000916001600160a01b0316906344aedc5f908690859081106117be57fe5b60200260200101516040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156117fa57600080fd5b505afa15801561180e573d6000803e3d6000fd5b505050506040513d602081101561182457600080fd5b505160ff169050828110611838578261183a565b805b925050600101611791565b5061184e6123c5565b61186f61186260128463ffffffff611b5b16565b859063ffffffff61247116565b11156115c05760405162461bcd60e51b81526004018080602001828103825260318152602001806129ff6031913960400191505060405180910390fd5b60006118bb868686868661230e565b90505b95945050505050565b6005546001600160a01b031681565b600554604080516344aedc5f60e01b81526004810184905290516000926001600160a01b0316916344aedc5f916024808301926020929190829003018186803b158015610b5257600080fd5b6000546001600160a01b0316331461196b5760405162461bcd60e51b815260040180806020018281038252602f815260200180612961602f913960400191505060405180910390fd5b565b61197561248b565b6001600160a01b0316336001600160a01b03161461196b576040805162461bcd60e51b815260206004820152601460248201527329b2b73232b91034b9903737ba1024b9b9bab2b960611b604482015290519081900360640190fd5b6000828414156119e257508061119d565b6000631c1554d160e21b8514156119fa575081611a9d565b600080611a056124a4565b6001600160a01b0316630c71cd23886040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015611a4757600080fd5b505afa158015611a5b573d6000803e3d6000fd5b505050506040513d6040811015611a7157600080fd5b5080516020909101519092509050611a88816124bf565b611a98858363ffffffff61251516565b925050505b631c1554d160e21b841415611ab357905061119d565b600080611abe6124a4565b6001600160a01b0316630c71cd23876040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015611b0057600080fd5b505afa158015611b14573d6000803e3d6000fd5b505050506040513d6040811015611b2a57600080fd5b5080516020909101519092509050611b41816124bf565b611b51838363ffffffff61252a16565b935050505061119d565b600082821115611bb2576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000600a82900a81818581611bc957fe5b061115611be757611be484600a85900a63ffffffff61253f16565b93505b611c0781611bfb868263ffffffff611c9a16565b9063ffffffff61259916565b949350505050565b600081611c1b816125f2565b600554604080516397bb3ce960e01b81526004810186905290516001600160a01b03909216916397bb3ce991602480820192602092909190829003018186803b158015611c6757600080fd5b505afa158015611c7b573d6000803e3d6000fd5b505050506040513d6020811015611c9157600080fd5b50519392505050565b6000808211611cf0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611cfb57fe5b04949350505050565b60006060600560009054906101000a90046001600160a01b03166001600160a01b0316635b0812376040518163ffffffff1660e01b815260040160006040518083038186803b158015611d5657600080fd5b505afa158015611d6a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611d9357600080fd5b8101908080516040519392919084600160201b821115611db257600080fd5b908301906020820185811115611dc757600080fd5b82518660208202830111600160201b82111715611de357600080fd5b82525081516020918201928201910280838360005b83811015611e10578181015183820152602001611df8565b50505050905001604052505050905060008090505b8151811015611f205760055482516000916001600160a01b03169063480310bb90859085908110611e5257fe5b6020026020010151886040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b158015611ea857600080fd5b505afa158015611ebc573d6000803e3d6000fd5b505050506040513d6020811015611ed257600080fd5b5051905080611ee15750611f18565b6000611f01848481518110611ef257fe5b602002602001015187846119d1565b9050611f13858263ffffffff61253f16565b945050505b600101611e25565b505092915050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611f6a57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611fa9578160200160208202803883390190505b50905060005b8351811015611feb57838181518110611fc457fe5b6020026020010151828281518110611fd857fe5b6020908102919091010152600101611faf565b5060005b825181101561202e5782818151811061200457fe5b602002602001015182828651018151811061201b57fe5b6020908102919091010152600101611fef565b5092915050565b6000815183511461204857506000610e3b565b60005b83518110156120ba576000805b85518110156120a05784818151811061206d57fe5b602002602001015186848151811061208157fe5b6020026020010151141561209857600191506120a0565b600101612058565b50806120b157600092505050610e3b565b5060010161204b565b5060019392505050565b806120ce816125f2565b600554604080516344aedc5f60e01b81526004810185905290516000926001600160a01b0316916344aedc5f916024808301926020929190829003018186803b15801561211a57600080fd5b505afa15801561212e573d6000803e3d6000fd5b505050506040513d602081101561214457600080fd5b505160ff169050601281111561219a576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103232b1b4b6b0b610373ab6b132b960511b604482015290519081900360640190fd5b60006121bd6121b060128463ffffffff611b5b16565b869063ffffffff611bb816565b60055460408051632a62e7fd60e21b8152600481018890526001600160a01b038a8116602483015260448201859052915193945091169163a98b9ff49160648082019260009290919082900301818387803b15801561221b57600080fd5b505af115801561222f573d6000803e3d6000fd5b5050600554604080516310083b4560e21b8152600481018990526001600160a01b038b81166024830152604482018790529151919092169350634020ed14925060648083019260209291908290030181600087803b15801561229057600080fd5b505af11580156122a4573d6000803e3d6000fd5b505050506040513d60208110156122ba57600080fd5b5051612306576040805162461bcd60e51b81526020600482015260166024820152751499599d5b99081a185cc81899595b8819985a5b195960521b604482015290519081900360640190fd5b505050505050565b60008061232287631c1554d160e21b611d04565b905085158061232f575080155b1561233e5760009150506118be565b821561236d57612354868663ffffffff61253f16565b9550612366818563ffffffff61253f16565b9050612392565b61237d868663ffffffff611b5b16565b955061238f818563ffffffff611b5b16565b90505b6123ba6123ad6123a06126c6565b889063ffffffff61252a16565b829063ffffffff61252a16565b979650505050505050565b60006123cf61273c565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7165787465726e616c546f6b656e51756f746160701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561244057600080fd5b505afa158015612454573d6000803e3d6000fd5b505050506040513d602081101561246a57600080fd5b5051905090565b6000610e38600a83900a611bfb858263ffffffff611c9a16565b600061249f6524b9b9bab2b960d11b612755565b905090565b600061249f6c45786368616e6765526174657360981b612755565b8015612512576040805162461bcd60e51b815260206004820152601f60248201527f412070796e7468206f722050455249207261746520697320696e76616c696400604482015290519081900360640190fd5b50565b6000610e388383670de0b6b3a7640000612832565b6000610e388383670de0b6b3a764000061286f565b600082820183811015610e38576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000826125a857506000610e3b565b828202828482816125b557fe5b0414610e385760405162461bcd60e51b81526004018080602001828103825260218152602001806129906021913960400191505060405180910390fd5b600554604080516397bb3ce960e01b81526004810184905290516000926001600160a01b0316916397bb3ce9916024808301926020929190829003018186803b15801561263e57600080fd5b505afa158015612652573d6000803e3d6000fd5b505050506040513d602081101561266857600080fd5b50516001600160a01b03161415612512576040805162461bcd60e51b815260206004820152601e60248201527f54617267657420746f6b656e206973206e6f7420726567697374657265640000604482015290519081900360640190fd5b60006126d061273c565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561244057600080fd5b600061249f6e466c657869626c6553746f7261676560881b5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161202e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127f75781810151838201526020016127df565b50505050905090810190601f1680156128245780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600080600a8304612849868663ffffffff61259916565b8161285057fe5b0490506005600a825b061061286357600a015b600a9004949350505050565b6000806128958461288987600a870263ffffffff61259916565b9063ffffffff611c9a16565b90506005600a82612859565b8280548282559060005260206000209081019282156128dc579160200282015b828111156128dc5782358255916020019190600101906128c1565b506128e89291506128ec565b5090565b6105b091905b808211156128e857600081556001016128f256fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970476976656e2063757272656e6379206b65797320617265206e6f7420617661696c61626c654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6d62696e6564207374616b656420616d6f756e74206973206e6f7420656e6f7567685472616e7366657272696e67207374616b696e6720746f6b656e20686173206265656e206661696c656445787465726e616c20746f6b656e207374616b696e6720616d6f756e7420657863656564732071756f7461206c696d6974a265627a7a72315820ab3224b8e9b6e45070853591e47313667ac86400587c3db2cb0b78229531188964736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_stakingState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"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": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x614d08f8"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_user",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_unitCurrency",
							"type": "bytes32"
						}
					],
					"name": "combinedStakedAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7a84b617"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "currencyKeyOrder",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb25dfddb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_additionalpUSD",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_additionalExToken",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_isIssue",
							"type": "bool"
						}
					],
					"name": "externalTokenQuota",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe06c707a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getCurrencyKeyOrder",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x08dbc561"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getTokenActivation",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5b6f3979"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getTokenAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb12e4410"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getTokenDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xff18cf46"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getTokenList",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x273cbaa0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"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": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_additionalpUSD",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_additionalExToken",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_isIssue",
							"type": "bool"
						}
					],
					"name": "requireNotExceedsQuotaLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda224edd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_stakingState",
							"type": "address"
						}
					],
					"name": "setStakingState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0fc3fc8c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_order",
							"type": "bytes32[]"
						}
					],
					"name": "setUnstakingOrder",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa42ed21f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_staker",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "_targetCurrency",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "_inputCurrency",
							"type": "bytes32"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4b1836b0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_user",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "_unitCurrency",
							"type": "bytes32"
						}
					],
					"name": "stakedAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xad47ffc5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "stakingState",
					"outputs": [
						{
							"internalType": "contract IStakingState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe082f1d4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_unstaker",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "_targetCurrency",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "_inputCurrency",
							"type": "bytes32"
						}
					],
					"name": "unstake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb23e5053"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_unstaker",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "_inputCurrency",
							"type": "bytes32"
						}
					],
					"name": "unstakeMultipleTokens",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xadba5c68"
				}
			],
			"source": {
				"keccak256": "0x96152cd0d381d3d17ff4c699e1e130f00ecd4ae1f12f7cc497d7694be32688fd",
				"urls": [
					"bzz-raw://1a7594cdfff295da37ed51a951394090816788c8dd705e07d5ed441013c6dc2b",
					"dweb:/ipfs/QmcUMjm79wfdnu8WbX1BpQTVHfKfC8LoMVg9g5BbRmuVii"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExternalTokenStakeManager.sol": "ExternalTokenStakeManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExternalTokenStakeManager.sol": {
						"keccak256": "0x96152cd0d381d3d17ff4c699e1e130f00ecd4ae1f12f7cc497d7694be32688fd",
						"urls": [
							"bzz-raw://1a7594cdfff295da37ed51a951394090816788c8dd705e07d5ed441013c6dc2b",
							"dweb:/ipfs/QmcUMjm79wfdnu8WbX1BpQTVHfKfC8LoMVg9g5BbRmuVii"
						]
					}
				},
				"version": 1
			}
		},
		"Depot": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$5b1a0139898c1861867d128118276f8f0f$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051603202600c5560408051630241ebdb60e61b8152905173__$5b1a0139898c1861867d128118276f8f0f$__9163907af6c0916004808301926020929190829003018186803b158015620000c557600080fd5b505af4158015620000da573d6000803e3d6000fd5b505050506040513d6020811015620000f157600080fd5b50516101f402600d553480156200010757600080fd5b50604051620033d3380380620033d3833981810160405260608110156200012d57600080fd5b508051602082015160409092015190919080836001600160a01b0381166200019c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000247576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6001600455600580546001600160a01b039283166001600160a01b03199182161790915560078054949092169316929092179091555050613145806200028e6000396000f3fe6080604052600436106101f95760003560e01c806379ba50971161010d578063ae4133b2116100a0578063c3969b341161006f578063c3969b3414610774578063c6abb7c71461079e578063ce727e41146107d1578063dcaa3e9f146107fb578063fd12167f14610818576101f9565b8063ae4133b2146106be578063b02c43d0146106e8578063b1338cc414610735578063bb7df1721461074a576101f9565b8063a2c90838116100dc578063a2c908381461062c578063a705a8341461065c578063a8f984461461067f578063aab483d614610694576101f9565b806379ba509714610588578063899ffef41461059d5780638da5cb5b1461060257806391b4ded914610617576101f9565b80634d0387fb1161019057806364e39b871161015f57806364e39b871461051b5780636d5ab4a91461054e5780636fd62e8c14610563578063741853601461056b57806376569fbf14610580576101f9565b80634d0387fb146104b257806353a47bb7146104c75780635a81c346146104dc5780635c975abb14610506576101f9565b80632194f3a2116101cc5780632194f3a2146104205780632af64bd31461043557806334d2e0f21461045e57806343de4fd014610488576101f9565b806304f3bcec14610367578063080c279a146103985780631627540c146103bf57806316c38b3c146103f4575b60048054600101908190556208aa8960eb1b61021361082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561025657600080fd5b505afa15801561026a573d6000803e3d6000fd5b505050506040513d602081101561028057600080fd5b5051156102c2576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff16156103045760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b61030c61084e565b50506004548114610364576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b50005b34801561037357600080fd5b5061037c61103e565b604080516001600160a01b039092168252519081900360200190f35b3480156103a457600080fd5b506103ad61104d565b60408051918252519081900360200190f35b3480156103cb57600080fd5b506103f2600480360360208110156103e257600080fd5b50356001600160a01b0316611053565b005b34801561040057600080fd5b506103f26004803603602081101561041757600080fd5b503515156110af565b34801561042c57600080fd5b5061037c611129565b34801561044157600080fd5b5061044a611138565b604080519115158252519081900360200190f35b34801561046a57600080fd5b506103ad6004803603602081101561048157600080fd5b5035611242565b34801561049457600080fd5b506103ad600480360360208110156104ab57600080fd5b50356112d7565b3480156104be57600080fd5b506103ad6113ea565b3480156104d357600080fd5b5061037c6113f0565b3480156104e857600080fd5b506103f2600480360360208110156104ff57600080fd5b50356113ff565b34801561051257600080fd5b5061044a6115c3565b34801561052757600080fd5b506103f26004803603602081101561053e57600080fd5b50356001600160a01b03166115cc565b34801561055a57600080fd5b506103ad61162e565b6103ad611634565b34801561057757600080fd5b506103f2611804565b6103ad6119cc565b34801561059457600080fd5b506103f2611b3f565b3480156105a957600080fd5b506105b2611bfb565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105ee5781810151838201526020016105d6565b505050509050019250505060405180910390f35b34801561060e57600080fd5b5061037c611c98565b34801561062357600080fd5b506103ad611ca7565b34801561063857600080fd5b506103ad6004803603604081101561064f57600080fd5b5080359060200135611cad565b6103ad6004803603604081101561067257600080fd5b5080359060200135611e7c565b34801561068b57600080fd5b506103f26121c3565b3480156106a057600080fd5b506103f2600480360360208110156106b757600080fd5b50356123fd565b3480156106ca57600080fd5b506103ad600480360360208110156106e157600080fd5b50356124ed565b3480156106f457600080fd5b506107126004803603602081101561070b57600080fd5b5035612588565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561074157600080fd5b506103ad6125ad565b34801561075657600080fd5b506103f26004803603602081101561076d57600080fd5b50356125b3565b34801561078057600080fd5b506103ad6004803603602081101561079757600080fd5b50356125f6565b3480156107aa57600080fd5b506103ad600480360360208110156107c157600080fd5b50356001600160a01b0316612686565b3480156107dd57600080fd5b506103f2600480360360208110156107f457600080fd5b5035612698565b6103ad6004803603602081101561081157600080fd5b5035612730565b34801561082457600080fd5b506103ad6128f4565b60006108486c45786368616e6765526174657360981b6128fa565b90505b90565b6000600d543411156108915760405162461bcd60e51b815260040180806020018281038252602581526020018061305b6025913960400191505060405180910390fd5b60008061092161089f61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d602081101561091257600080fd5b5051349063ffffffff6129de16565b60095490915081905b60008211801561093b5750600a5481105b15610ee957610948612f20565b50600081815260086020908152604091829020825180840190935280546001600160a01b03168084526001909101549183019190915261099e5760095461099690600163ffffffff612a0816565b600955610ee0565b8281602001511115610c425760208101516000906109c2908563ffffffff612a6216565b60408051808201825284516001600160a01b039081168252602080830185815260008981526008909252939020915182546001600160a01b03191691161781559051600190910155600b54909150610a1a9085612a62565b600b55610aaa610a2861082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a7157600080fd5b505afa158015610a85573d6000803e3d6000fd5b505050506040513d6020811015610a9b57600080fd5b5051859063ffffffff612abf16565b82516040519197506001600160a01b03169087156108fc029088906000818181858888f19350505050610b58576007546040516001600160a01b039091169087156108fc029088906000818181858888f19350505050158015610b11573d6000803e3d6000fd5b5081516040805188815290516001600160a01b03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610ba4565b81516040805188815260208101879052815186936001600160a01b03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c929081900390910190a45b610bac612ae9565b6001600160a01b031663a9059cbb33866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610c0b57600080fd5b505af1158015610c1f573d6000803e3d6000fd5b505050506040513d6020811015610c3557600080fd5b5060009450610ee0915050565b82816020015111610ee057600082815260086020526040812080546001600160a01b0319168155600190810191909155600954610c849163ffffffff612a0816565b6009556020810151600b54610c9e9163ffffffff612a6216565b600b55610d32610cac61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610cf557600080fd5b505afa158015610d09573d6000803e3d6000fd5b505050506040513d6020811015610d1f57600080fd5b505160208301519063ffffffff612abf16565b81516040519196506001600160a01b03169086156108fc029087906000818181858888f19350505050610de0576007546040516001600160a01b039091169086156108fc029087906000818181858888f19350505050158015610d99573d6000803e3d6000fd5b5080516040805187815290516001600160a01b03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610e30565b80516020808301516040805189815292830191909152805185936001600160a01b03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c92918290030190a45b610e38612ae9565b6001600160a01b031663a9059cbb3383602001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610e9b57600080fd5b505af1158015610eaf573d6000803e3d6000fd5b505050506040513d6020811015610ec557600080fd5b50506020810151610edd90849063ffffffff612a6216565b92505b5060010161092a565b508015610fab57336108fc610f81610eff61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610f4857600080fd5b505afa158015610f5c573d6000803e3d6000fd5b505050506040513d6020811015610f7257600080fd5b5051849063ffffffff612abf16565b6040518115909202916000818181858888f19350505050158015610fa9573d6000803e3d6000fd5b505b6000610fbd838363ffffffff612a6216565b9050801561103657604080513460208201526060810183905260808082526003908201526208aa8960eb1b60a082015260c0818301819052600490820152631c1554d160e21b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15b935050505090565b6005546001600160a01b031681565b600c5481565b61105b612b00565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6110b7612b00565b60035460ff16151581151514156110cd57611126565b6003805460ff1916821515179081905560ff16156110ea57426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b6007546001600160a01b031681565b60006060611144611bfb565b905060005b815181101561123957600082828151811061116057fe5b6020908102919091018101516000818152600683526040908190205460055482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156111c857600080fd5b505afa1580156111dc573d6000803e3d6000fd5b505050506040513d60208110156111f257600080fd5b50516001600160a01b031614158061121f57506000818152600660205260409020546001600160a01b0316155b15611230576000935050505061084b565b50600101611149565b50600191505090565b60006112d161124f61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561129857600080fd5b505afa1580156112ac573d6000803e3d6000fd5b505050506040513d60208110156112c257600080fd5b5051839063ffffffff6129de16565b92915050565b6000635045524960e01b6112e961082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561132c57600080fd5b505afa158015611340573d6000803e3d6000fd5b505050506040513d602081101561135657600080fd5b505115611398576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff16156113da5760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b6113e383612b4b565b9392505050565b600b5481565b6001546001600160a01b031681565b611407612ae9565b604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b0392909216916323b872dd916064808201926020929091908290030181600087803b15801561145f57600080fd5b505af1158015611473573d6000803e3d6000fd5b505050506040513d602081101561148957600080fd5b5050600c5481101561151257336000908152600e60205260409020546114b5908263ffffffff612a0816565b336000818152600e602090815260409182902093909355600c5481519283529282018490528181019290925290517fa53e8531fc7a8d8cd1aeccdc1b953e2b1bfcbeb6f5acb3a8fd571b8c57a5fd3d9181900360600190a1611126565b604080518082018252338082526020808301858152600a8054600090815260088452869020945185546001600160a01b0319166001600160a01b039091161785559051600190940193909355915483518581529351909391927f55037147ed62d28238c4ff02e6d4053961a9fdba94b336f5e2f1c94daf2732a0928290030190a3600a546115a790600163ffffffff612a0816565b600a55600b546115bd908263ffffffff612a0816565b600b5550565b60035460ff1681565b6115d4612b00565b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050916020908290030190a150565b60095481565b6000635045524960e01b61164661082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561168957600080fd5b505afa15801561169d573d6000803e3d6000fd5b505050506040513d60208110156116b357600080fd5b5051156116f5576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b6208aa8960eb1b61170461082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561174757600080fd5b505afa15801561175b573d6000803e3d6000fd5b505050506040513d602081101561177157600080fd5b5051156117b3576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff16156117f55760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b6117fd612cf5565b9250505090565b606061180e611bfb565b905060005b81518110156119c857600082828151811061182a57fe5b602090810291909101810151600554604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156118e05781810151838201526020016118c8565b50505050905090810190601f16801561190d5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561192b57600080fd5b505afa15801561193f573d6000803e3d6000fd5b505050506040513d602081101561195557600080fd5b505160008381526006602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611813565b5050565b60048054600101908190556000906208aa8960eb1b6119e961082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611a2c57600080fd5b505afa158015611a40573d6000803e3d6000fd5b505050506040513d6020811015611a5657600080fd5b505115611a98576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff1615611ada5760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b611ae261084e565b9250506004548114611b3b576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5090565b6001546001600160a01b03163314611b885760405162461bcd60e51b8152600401808060200182810382526035815260200180612f636035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6040805160038082526080820190925260609160208201838038833901905050905068141e5b9d1a1c1554d160ba1b81600081518110611c3757fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110611c6157fe5b6020026020010181815250506a5065726946696e616e636560a81b81600281518110611c8957fe5b60200260200101818152505090565b6000546001600160a01b031681565b60025481565b6000635045524960e01b611cbf61082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611d0257600080fd5b505afa158015611d16573d6000803e3d6000fd5b505050506040513d6020811015611d2c57600080fd5b505115611d6e576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff1615611db05760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b611db861082d565b6001600160a01b031663ac82f608635045524960e01b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611e0257600080fd5b505afa158015611e16573d6000803e3d6000fd5b505050506040513d6020811015611e2c57600080fd5b50518314611e6b5760405162461bcd60e51b81526004018080602001828103825260258152602001806130ec6025913960400191505060405180910390fd5b611e7484612b4b565b949350505050565b6000635045524960e01b611e8e61082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611ed157600080fd5b505afa158015611ee5573d6000803e3d6000fd5b505050506040513d6020811015611efb57600080fd5b505115611f3d576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b6208aa8960eb1b611f4c61082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611f8f57600080fd5b505afa158015611fa3573d6000803e3d6000fd5b505050506040513d6020811015611fb957600080fd5b505115611ffb576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff161561203d5760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b61204561082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561208e57600080fd5b505afa1580156120a2573d6000803e3d6000fd5b505050506040513d60208110156120b857600080fd5b505185146120f75760405162461bcd60e51b815260040180806020018281038252602b815260200180612f38602b913960400191505060405180910390fd5b6120ff61082d565b6001600160a01b031663ac82f608635045524960e01b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561214957600080fd5b505afa15801561215d573d6000803e3d6000fd5b505050506040513d602081101561217357600080fd5b505184146121b25760405162461bcd60e51b8152600401808060200182810382526032815260200180612fb86032913960400191505060405180910390fd5b6121ba612cf5565b95945050505050565b6009546000905b600a548110156122a6576121dc612f20565b50600081815260086020908152604091829020825180840190935280546001600160a01b03168084526001909101549183019190915233141561229d57602081015161222f90849063ffffffff612a0816565b600083815260086020908152604080832080546001600160a01b0319168155600101929092558351848201518351908152925193965085936001600160a01b03909116927fa3192e28d63900a325ec19d7b4c6a3690995015d92e4483f4b3ec54dea5e598492908290030190a35b506001016121ca565b50600b546122ba908263ffffffff612a6216565b600b55336000908152600e60205260409020546122de90829063ffffffff612a0816565b336000908152600e602052604081205590508061232c5760405162461bcd60e51b8152600401808060200182810382526021815260200180612fea6021913960400191505060405180910390fd5b612334612ae9565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561239357600080fd5b505af11580156123a7573d6000803e3d6000fd5b505050506040513d60208110156123bd57600080fd5b5050604080513381526020810183905281517f561ed20453aa36ac35f599e6b1f20818af8d303c090fb9ffc306da39814757b2929181900390910190a150565b612405612b00565b73__$5b1a0139898c1861867d128118276f8f0f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561244957600080fd5b505af415801561245d573d6000803e3d6000fd5b505050506040513d602081101561247357600080fd5b505181116124b25760405162461bcd60e51b81526004018080602001828103825260308152602001806130806030913960400191505060405180910390fd5b600c8190556040805182815290517fa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc542679181900360200190a150565b60008061257d6124fb61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561254457600080fd5b505afa158015612558573d6000803e3d6000fd5b505050506040513d602081101561256e57600080fd5b5051849063ffffffff6129de16565b90506113e3816125f6565b600860205260009081526040902080546001909101546001600160a01b039091169082565b600d5481565b6125bb612b00565b600d8190556040805182815290517fdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c82439181900360200190a150565b60006112d161260361082d565b6001600160a01b031663ac82f608635045524960e01b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561264d57600080fd5b505afa158015612661573d6000803e3d6000fd5b505050506040513d602081101561267757600080fd5b5051839063ffffffff612abf16565b600e6020526000908152604090205481565b6126a0612b00565b6126a8612e44565b600080546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051939091169263a9059cbb92604480840193602093929083900390910190829087803b15801561270157600080fd5b505af1158015612715573d6000803e3d6000fd5b505050506040513d602081101561272b57600080fd5b505050565b60006208aa8960eb1b61274161082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561278457600080fd5b505afa158015612798573d6000803e3d6000fd5b505050506040513d60208110156127ae57600080fd5b5051156127f0576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff16156128325760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b61283a61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561288357600080fd5b505afa158015612897573d6000803e3d6000fd5b505050506040513d60208110156128ad57600080fd5b505183146128ec5760405162461bcd60e51b81526004018080602001828103825260258152602001806130ec6025913960400191505060405180910390fd5b6113e361084e565b600a5481565b600081815260066020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816129d75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561299c578181015183820152602001612984565b50505050905090810190601f1680156129c95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b6000670de0b6b3a76400006129f9848463ffffffff612e5d16565b81612a0057fe5b049392505050565b6000828201838110156113e3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115612ab9576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006113e382612add85670de0b6b3a764000063ffffffff612e5d16565b9063ffffffff612eb616565b600061084868141e5b9d1a1c1554d160ba1b6128fa565b6000546001600160a01b03163314612b495760405162461bcd60e51b815260040180806020018281038252602f81526020018061300b602f913960400191505060405180910390fd5b565b600080612b57836125f6565b9050612b61612ae9565b600754604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905192909116916323b872dd916064808201926020929091908290030181600087803b158015612bbe57600080fd5b505af1158015612bd2573d6000803e3d6000fd5b505050506040513d6020811015612be857600080fd5b50612bf39050612e44565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612c5257600080fd5b505af1158015612c66573d6000803e3d6000fd5b505050506040513d6020811015612c7c57600080fd5b505060408051602081018590526060810183905260808082526004908201819052631c1554d160e21b60a083015260c0828401819052820152635045524960e01b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a192915050565b600080612d01346124ed565b6007546040519192506001600160a01b0316903480156108fc02916000818181858888f19350505050158015612d3b573d6000803e3d6000fd5b50612d44612e44565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612da357600080fd5b505af1158015612db7573d6000803e3d6000fd5b505050506040513d6020811015612dcd57600080fd5b5050604080513460208201526060810183905260808082526003908201526208aa8960eb1b60a082015260c0818301819052600490820152635045524960e01b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a1905090565b60006108486a5065726946696e616e636560a81b6128fa565b600082612e6c575060006112d1565b82820282848281612e7957fe5b04146113e35760405162461bcd60e51b815260040180806020018281038252602181526020018061303a6021913960400191505060405180910390fd5b6000808211612f0c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481612f1757fe5b04949350505050565b60408051808201909152600080825260208201529056fe47756172616e74656564206574686572207261746520776f756c64206e6f74206265207265636569766564596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869705261746520696e76616c6964206f72206e6f7420612070796e7468000000000047756172616e7465656420706572692066696e616e6365207261746520776f756c64206e6f74206265207265636569766564596f752068617665206e6f206465706f7369747320746f2077697468647261772e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745544820616d6f756e742061626f7665206d61784574685075726368617365206c696d69744d696e696d756d206465706f73697420616d6f756e74206d7573742062652067726561746572207468616e20554e49545468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656447756172616e74656564207261746520776f756c64206e6f74206265207265636569766564a265627a7a72315820d5cb7e53f6a1c1eb6376f0759317ed4a0a3fccc9ef30c96bfa63210f6257bf4964736f6c63430005100032",
			"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": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"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": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "PynthDeposit",
					"type": "event",
					"signature": "0x55037147ed62d28238c4ff02e6d4053961a9fdba94b336f5e2f1c94daf2732a0"
				},
				{
					"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": "PynthDepositNotAccepted",
					"type": "event",
					"signature": "0xa53e8531fc7a8d8cd1aeccdc1b953e2b1bfcbeb6f5acb3a8fd571b8c57a5fd3d"
				},
				{
					"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": "PynthDepositRemoved",
					"type": "event",
					"signature": "0xa3192e28d63900a325ec19d7b4c6a3690995015d92e4483f4b3ec54dea5e5984"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "PynthWithdrawal",
					"type": "event",
					"signature": "0x561ed20453aa36ac35f599e6b1f20818af8d303c090fb9ffc306da39814757b2"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"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": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "depositPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a81c346"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "depositStartIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6d5ab4a9"
				},
				{
					"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": "exchangeEtherForPERI",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x6fd62e8c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "guaranteedEtherRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "guaranteedPeriFinanceRate",
							"type": "uint256"
						}
					],
					"name": "exchangeEtherForPERIAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xa705a834"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exchangeEtherForPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x76569fbf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "guaranteedRate",
							"type": "uint256"
						}
					],
					"name": "exchangeEtherForPynthsAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xdcaa3e9f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "pynthAmount",
							"type": "uint256"
						}
					],
					"name": "exchangePynthsForPERI",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x43de4fd0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "pynthAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "guaranteedRate",
							"type": "uint256"
						}
					],
					"name": "exchangePynthsForPERIAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa2c90838"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fundsWallet",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2194f3a2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"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": [],
					"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": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "periFinanceReceivedForEther",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae4133b2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "periFinanceReceivedForPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc3969b34"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "pynthsReceivedForEther",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x34d2e0f2"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"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": 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": [],
					"name": "totalSellableDeposits",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4d0387fb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "withdrawMyDepositedPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa8f98446"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdrawPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xce727e41"
				}
			],
			"source": {
				"keccak256": "0xee21894b909676649a7cd0af26af5b06d1aca34b189cff37116554f7ac82a22d",
				"urls": [
					"bzz-raw://cbb3af1fc216cf5da2666b50e2d1b94397707c998bff746da623a6155d7b5ef4",
					"dweb:/ipfs/QmV21v5LAD3GrdgyyTCxDY21qzwuPVLxrUFbsa3Tpkonyt"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Depot.sol": "Depot"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Depot.sol": {
						"keccak256": "0xee21894b909676649a7cd0af26af5b06d1aca34b189cff37116554f7ac82a22d",
						"urls": [
							"bzz-raw://cbb3af1fc216cf5da2666b50e2d1b94397707c998bff746da623a6155d7b5ef4",
							"dweb:/ipfs/QmV21v5LAD3GrdgyyTCxDY21qzwuPVLxrUFbsa3Tpkonyt"
						]
					}
				},
				"version": 1
			}
		},
		"EtherCollateral": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$09231a05ed34b6851f1018822ecfa0dcb8$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051607d0260075560408051630241ebdb60e61b8152905160649173__$09231a05ed34b6851f1018822ecfa0dcb8$__9163907af6c091600480820192602092909190829003018186803b158015620000c957600080fd5b505af4158015620000de573d6000803e3d6000fd5b505050506040513d6020811015620000f557600080fd5b5051600502816200010257fe5b04600855620001266301e133806008546200042f60201b620021111790919060201c565b6009556103e873__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017157600080fd5b505af415801562000186573d6000803e3d6000fd5b505050506040513d60208110156200019d57600080fd5b505160050281620001aa57fe5b04600a5573__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f357600080fd5b505af415801562000208573d6000803e3d6000fd5b505050506040513d60208110156200021f57600080fd5b505161138802600b5560408051630241ebdb60e61b8152905173__$09231a05ed34b6851f1018822ecfa0dcb8$__9163907af6c0916004808301926020929190829003018186803b1580156200027457600080fd5b505af415801562000289573d6000803e3d6000fd5b505050506040513d6020811015620002a057600080fd5b5051600c556032600d55600e805460ff19169055348015620002c157600080fd5b50604051620033343803806200333483398181016040526040811015620002e757600080fd5b50805160209091015180826001600160a01b0381166200034e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620003f9576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6001600455600580546001600160a01b0319166001600160a01b039290921691909117905550504262794a0001600f556200049b565b600080821162000486576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816200049257fe5b04949350505050565b612e8980620004ab6000396000f3fe6080604052600436106102725760003560e01c80637cc1f8671161014f578063ab6a34fa116100c1578063e220a8111161007a578063e220a8111461090a578063e3c1e58c14610943578063e40108ed14610958578063e5829d201461096d578063eea8f5da14610997578063f53dfb84146109ac57610272565b8063ab6a34fa146107ff578063b410a03414610875578063bb8c6d6c1461088a578063cf09b4ae146108b6578063d05951a0146108cb578063dcaf9c44146108f557610272565b80638fdc8f3b116101135780638fdc8f3b146106cd57806391b4ded9146106f75780639f7d56881461070c578063a1c5158614610721578063a2e17342146107a5578063a76cdfa5146107d557610272565b80637cc1f867146105b5578063899ffef41461063157806389c937de146106465780638c4638691461067f5780638da5cb5b146106b857610272565b80634f069f66116101e85780635d1a2229116101ac5780635d1a22291461051a5780635f84f302146105445780636b2319381461056e578063741853601461057657806379ba50971461058b5780637c3a00fd146105a057610272565b80634f069f661461048757806350e3b2e7146104b157806353a47bb7146104db57806357b21920146104f05780635c975abb1461050557610272565b806323aa7f0f1161023a57806323aa7f0f1461036357806327cff2e5146103785780632af64bd3146103b15780632f2bf15b146103da578063361e20861461045d5780634189bb491461047257610272565b806304f3bcec14610277578063089f7fb4146102a85780631474b279146102ed5780631627540c1461030257806316c38b3c14610337575b600080fd5b34801561028357600080fd5b5061028c6109d6565b604080516001600160a01b039092168252519081900360200190f35b3480156102b457600080fd5b506102db600480360360208110156102cb57600080fd5b50356001600160a01b03166109e5565b60408051918252519081900360200190f35b3480156102f957600080fd5b506102db6109f7565b34801561030e57600080fd5b506103356004803603602081101561032557600080fd5b50356001600160a01b03166109fd565b005b34801561034357600080fd5b506103356004803603602081101561035a57600080fd5b50351515610a59565b34801561036f57600080fd5b506102db610ad3565b34801561038457600080fd5b506102db6004803603604081101561039b57600080fd5b506001600160a01b038135169060200135610ad9565b3480156103bd57600080fd5b506103c6610b02565b604080519115158252519081900360200190f35b3480156103e657600080fd5b5061040d600480360360208110156103fd57600080fd5b50356001600160a01b0316610c0d565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610449578181015183820152602001610431565b505050509050019250505060405180910390f35b34801561046957600080fd5b506102db610dcb565b34801561047e57600080fd5b506102db610dd1565b34801561049357600080fd5b50610335600480360360208110156104aa57600080fd5b5035610dd7565b3480156104bd57600080fd5b50610335600480360360208110156104d457600080fd5b5035610e1a565b3480156104e757600080fd5b5061028c610e5d565b3480156104fc57600080fd5b506102db610e6c565b34801561051157600080fd5b506103c6610e72565b34801561052657600080fd5b506103356004803603602081101561053d57600080fd5b5035610e7b565b34801561055057600080fd5b506103356004803603602081101561056757600080fd5b5035610f00565b6102db61104c565b34801561058257600080fd5b506103356114e2565b34801561059757600080fd5b506103356116aa565b3480156105ac57600080fd5b506102db611766565b3480156105c157600080fd5b506105ca61176c565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e0880152610100870152610120860152610140850152610160840152151561018083015251908190036101a00190f35b34801561063d57600080fd5b5061040d6117d7565b34801561065257600080fd5b506102db6004803603604081101561066957600080fd5b506001600160a01b0381351690602001356118be565b34801561068b57600080fd5b506102db600480360360408110156106a257600080fd5b506001600160a01b0381351690602001356118f8565b3480156106c457600080fd5b5061028c611917565b3480156106d957600080fd5b506102db600480360360208110156106f057600080fd5b5035611926565b34801561070357600080fd5b506102db611940565b34801561071857600080fd5b506102db611946565b34801561072d57600080fd5b5061075a6004803603604081101561074457600080fd5b506001600160a01b03813516906020013561194c565b604080516001600160a01b0390991689526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b3480156107b157600080fd5b506102db600480360360408110156107c857600080fd5b50803590602001356119d3565b3480156107e157600080fd5b50610335600480360360208110156107f857600080fd5b5035611a01565b34801561080b57600080fd5b506108386004803603604081101561082257600080fd5b506001600160a01b038135169060200135611a44565b604080516001600160a01b0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561088157600080fd5b506102db611a9f565b34801561089657600080fd5b50610335600480360360208110156108ad57600080fd5b50351515611ac4565b3480156108c257600080fd5b506102db611b6e565b3480156108d757600080fd5b50610335600480360360208110156108ee57600080fd5b5035611b74565b34801561090157600080fd5b506102db611caf565b34801561091657600080fd5b506103356004803603604081101561092d57600080fd5b506001600160a01b038135169060200135611cb5565b34801561094f57600080fd5b506103c6611e8e565b34801561096457600080fd5b506102db611e97565b34801561097957600080fd5b506103356004803603602081101561099057600080fd5b5035611e9d565b3480156109a357600080fd5b506102db611f71565b3480156109b857600080fd5b506102db600480360360208110156109cf57600080fd5b5035611f77565b6005546001600160a01b031681565b60146020526000908152604090205481565b600d5481565b610a05611f9a565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610a61611f9a565b60035460ff1615158115151415610a7757610ad0565b6003805460ff1916821515179081905560ff1615610a9457426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60115481565b6000610ae3612bda565b610aed8484611fe5565b9050610af8816120f6565b9150505b92915050565b60006060610b0e6117d7565b905060005b8151811015610c03576000828281518110610b2a57fe5b6020908102919091018101516000818152600683526040908190205460055482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610b9257600080fd5b505afa158015610ba6573d6000803e3d6000fd5b505050506040513d6020811015610bbc57600080fd5b50516001600160a01b0316141580610be957506000818152600660205260409020546001600160a01b0316155b15610bfa5760009350505050610c0a565b50600101610b13565b5060019150505b90565b6001600160a01b03811660009081526013602090815260408083208054825181850281018501909352808352606094859484015b82821015610cb25760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101610c41565b50505050905060608151604051908082528060200260200182016040528015610ce5578160200160208202803883390190505b5090506000805b8351811015610d5357838181518110610d0157fe5b602002602001015160a0015160001415610d4b57838181518110610d2157fe5b602002602001015160800151838381518110610d3957fe5b60209081029190910101526001909101905b600101610cec565b50606081604051908082528060200260200182016040528015610d80578160200160208202803883390190505b50905060005b82811015610dc157838181518110610d9a57fe5b6020026020010151828281518110610dae57fe5b6020908102919091010152600101610d86565b5095945050505050565b600a5481565b60125481565b610ddf611f9a565b600b8190556040805182815290517fbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e59181900360200190a150565b610e22611f9a565b600c8190556040805182815290517f8640e538c9503bd8d11554fc26280efe867c12195c0eee0aeede5f4a8d5288399181900360200190a150565b6001546001600160a01b031681565b60105481565b60035460ff1681565b610e83611f9a565b6103e8808210610ec45760405162461bcd60e51b8152600401808060200182810382526025815260200180612c8d6025913960400191505060405180910390fd5b600d8290556040805183815290517f59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b69181900360200190a15050565b610f08611f9a565b6301e133808111610f4a5760405162461bcd60e51b8152600401808060200182810382526037815260200180612e1e6037913960400191505060405180910390fd5b73__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610f8e57600080fd5b505af4158015610fa2573d6000803e3d6000fd5b505050506040513d6020811015610fb857600080fd5b5051811115610ff85760405162461bcd60e51b8152600401808060200182810382526025815260200180612df96025913960400191505060405180910390fd5b6008819055611011816301e1338063ffffffff61211116565b60095560085460408051918252517fa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d749181900360200190a150565b60035460009060ff16156110915760405162461bcd60e51b815260040180806020018281038252603c815260200180612dbd603c913960400191505060405180910390fd5b60048054600101908190556110a461217b565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e08aa8960e31b815250602001905060206040518083038186803b1580156110ee57600080fd5b505afa158015611102573d6000803e3d6000fd5b505050506040513d602081101561111857600080fd5b50511561116c576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732070455448207261746520697320696e76616c696400604482015290519081900360640190fd5b611174612196565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156111ac57600080fd5b505afa1580156111c0573d6000803e3d6000fd5b50505050600c543410156112055760405162461bcd60e51b815260040180806020018281038252603e815260200180612d7f603e913960400191505060405180910390fd5b600e5460ff161561125d576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b600d5433600090815260136020526040902054106112ac5760405162461bcd60e51b8152600401808060200182810382526022815260200180612cea6022913960400191505060405180910390fd5b60006112b734611926565b9050600b546112d1826010546121b090919063ffffffff16565b1061130d5760405162461bcd60e51b8152600401808060200182810382526023815260200180612d0c6023913960400191505060405180910390fd5b61131561220a565b925061131f612bda565b506040805160c081018252338082523460208084019182528385018681524260608601908152608086018a8152600060a0880181815296815260138552978820805460018082018355918a5294909820875160069095020180546001600160a01b0319166001600160a01b0390951694909417845593519683019690965551600282015593516003850155516004840155516005909201919091556010546113c790836121b0565b6010556113d2612242565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561143157600080fd5b505af1158015611445573d6000803e3d6000fd5b5050604080518781526020810186905281513394507f58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f93509081900390910190a2505060045481146114de576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5090565b60606114ec6117d7565b905060005b81518110156116a657600082828151811061150857fe5b602090810291909101810151600554604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156115be5781810151838201526020016115a6565b50505050905090810190601f1680156115eb5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561160957600080fd5b505afa15801561161d573d6000803e3d6000fd5b505050506040513d602081101561163357600080fd5b505160008381526006602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016114f1565b5050565b6001546001600160a01b031633146116f35760405162461bcd60e51b8152600401808060200182810382526035815260200180612c1a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60085481565b60075460008080808080808080808080611784611a9f565b9b506008549a506009549950600a549850600b549750600c549650601054955060115494506012549350479250600f549150600e60009054906101000a900460ff169050909192939495969798999a9b9c565b60408051600580825260c082019092526060916020820160a0803883390190505090506b53797374656d53746174757360a01b8160008151811061181757fe5b602002602001018181525050680a0f2dce8d0e08aa8960bb1b8160018151811061183d57fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b8160028151811061186357fe5b6020026020010181815250506411195c1bdd60da1b8160038151811061188557fe5b6020026020010181815250506c45786368616e6765526174657360981b816004815181106118af57fe5b60200260200101818152505090565b60006118c8612bda565b6118d28484611fe5565b905060006118df82612259565b90506118ef8260400151826119d3565b95945050505050565b6000611902612bda565b61190c8484611fe5565b9050610af881612259565b6000546001600160a01b031681565b6000610afc611933611a9f565b839063ffffffff61229c16565b60025481565b600f5481565b600080600080600080600080611960612bda565b61196a8b8b611fe5565b8051602082015160408301516060840151608085015160a0860151949e50929c50909a5098509650945090506119a8876119a383612259565b6119d3565b92506119c36119b6826120f6565b849063ffffffff6121b016565b9150509295985092959890939650565b60006119fa6119ed836009546122c690919063ffffffff16565b849063ffffffff61231f16565b9392505050565b611a09611f9a565b600a8190556040805182815290517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c9181900360200190a150565b60136020528160005260406000208181548110611a5d57fe5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501546001600160a01b03909416965091945092909186565b6000611abf60075468056bc75e2d6310000061233490919063ffffffff16565b905090565b611acc611f9a565b600f544211611b22576040805162461bcd60e51b815260206004820152601b60248201527f4265666f7265206c69717569646174696f6e20646561646c696e650000000000604482015290519081900360640190fd5b600e805460ff191682151517908190556040805160ff90921615158252517faa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567916020908290030190a150565b600c5481565b6004805460010190819055611b8761217b565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e08aa8960e31b815250602001905060206040518083038186803b158015611bd157600080fd5b505afa158015611be5573d6000803e3d6000fd5b505050506040513d6020811015611bfb57600080fd5b505115611c4f576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732070455448207261746520697320696e76616c696400604482015290519081900360640190fd5b611c593383612349565b60045481146116a6576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60075481565b6004805460010190819055611cc861217b565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e08aa8960e31b815250602001905060206040518083038186803b158015611d1257600080fd5b505afa158015611d26573d6000803e3d6000fd5b505050506040513d6020811015611d3c57600080fd5b505115611d90576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732070455448207261746520697320696e76616c696400604482015290519081900360640190fd5b600e5460ff16611de7576040805162461bcd60e51b815260206004820152601760248201527f4c69717569646174696f6e206973206e6f74206f70656e000000000000000000604482015290519081900360640190fd5b611df18383612349565b6040805183815233602082015281516001600160a01b038616927fde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38928290030190a26004548114611e89576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b600e5460ff1681565b60095481565b611ea5611f9a565b683635c9adc5dea00000811115611eee576040805162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015290519081900360640190fd5b68056bc75e2d63100000811015611f36576040805162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b604482015290519081900360640190fd5b60078190556040805182815290517ffb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce078695309181900360200190a150565b600b5481565b6000610afc61193368056bc75e2d6310000060075461233490919063ffffffff16565b6000546001600160a01b03163314611fe35760405162461bcd60e51b815260040180806020018281038252602f815260200180612d2f602f913960400191505060405180910390fd5b565b611fed612bda565b6001600160a01b0383166000908152601360209081526040808320805482518185028101850190935280835260609492939192909184015b828210156120965760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101612025565b509293506000925050505b81518110156120ee57838282815181106120b757fe5b60200260200101516080015114156120e6578181815181106120d557fe5b602002602001015192505050610afc565b6001016120a1565b505092915050565b6000610afc600a54836040015161231f90919063ffffffff16565b6000808211612167576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161217257fe5b04949350505050565b6000611abf6c45786368616e6765526174657360981b61296c565b6000611abf6b53797374656d53746174757360a01b61296c565b6000828201838110156119fa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60125460009061222190600163ffffffff6121b016565b60125560115461223890600163ffffffff6121b016565b6011819055905090565b6000611abf680a0f2dce8d0e08aa8960bb1b61296c565b60a081015160009015158061228357606083015161227e90429063ffffffff612a5016565b6119fa565b606083015160a08401516119fa9163ffffffff612a5016565b6000670de0b6b3a76400006122b7848463ffffffff6122c616565b816122be57fe5b049392505050565b6000826122d557506000610afc565b828202828482816122e257fe5b04146119fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180612d5e6021913960400191505060405180910390fd5b60006119fa8383670de0b6b3a7640000612aad565b60006119fa8383670de0b6b3a7640000612aea565b612351612196565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561238957600080fd5b505afa15801561239d573d6000803e3d6000fd5b505050506123a9612bda565b6123b38383611fe5565b90506000816080015111612404576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b60a081015115612451576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88185b1c9958591e4818db1bdcd959606a1b604482015290519081900360640190fd5b806040015161245e612242565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156124b357600080fd5b505afa1580156124c7573d6000803e3d6000fd5b505050506040513d60208110156124dd57600080fd5b5051101561251c5760405162461bcd60e51b815260040180806020018281038252603e815260200180612c4f603e913960400191505060405180910390fd5b61252581612b1c565b604081015160105461253c9163ffffffff612a5016565b6010556040810151600090612554906119a384612259565b90506000612561836120f6565b90506000612575838363ffffffff6121b016565b905061257f612242565b6001600160a01b0316639dc29fac3386604001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156125e257600080fd5b505af11580156125f6573d6000803e3d6000fd5b50505050612602612bb0565b6001600160a01b03166334d2e0f2826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561264557600080fd5b505afa158015612659573d6000803e3d6000fd5b505050506040513d602081101561266f57600080fd5b5051612679612bc3565b6001600160a01b03166370a0823161268f612bb0565b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156126d557600080fd5b505afa1580156126e9573d6000803e3d6000fd5b505050506040513d60208110156126ff57600080fd5b5051101561273e5760405162461bcd60e51b8152600401808060200182810382526038815260200180612cb26038913960400191505060405180910390fd5b612746612bb0565b6001600160a01b03166376569fbf826040518263ffffffff1660e01b81526004016020604051808303818588803b15801561278057600080fd5b505af1158015612794573d6000803e3d6000fd5b50505050506040513d60208110156127ab57600080fd5b506127b69050612bc3565b6001600160a01b031663a9059cbb73feefeefeefeefeefeefeefeefeefeefeefeefeef6127e1612bc3565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561283657600080fd5b505afa15801561284a573d6000803e3d6000fd5b505050506040513d602081101561286057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156128b157600080fd5b505af11580156128c5573d6000803e3d6000fd5b505050506040513d60208110156128db57600080fd5b5050602084015133906108fc906128f8908463ffffffff612a5016565b6040518115909202916000818181858888f19350505050158015612920573d6000803e3d6000fd5b50604080518681526020810183905281516001600160a01b038916927f3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e928290030190a2505050505050565b600081815260066020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612a495760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a0e5781810151838201526020016129f6565b50505050905090810190601f168015612a3b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600082821115612aa7576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080600a8304612ac4868663ffffffff6122c616565b81612acb57fe5b0490506005600a825b0610612ade57600a015b600a9004949350505050565b600080612b1084612b0487600a870263ffffffff6122c616565b9063ffffffff61211116565b90506005600a82612ad4565b80516001600160a01b03166000908152601360205260408120905b8154811015612b94578260800151828281548110612b5157fe5b9060005260206000209060060201600401541415612b8c5742828281548110612b7657fe5b9060005260206000209060060201600501819055505b600101612b37565b50601254612ba990600163ffffffff612a5016565b6012555050565b6000611abf6411195c1bdd60da1b61296c565b6000611abf68141e5b9d1a1c1554d160ba1b61296c565b6040518060c0016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970596f7520646f206e6f742068617665207468652072657175697265642050796e74682062616c616e636520746f20636c6f73652074686973206c6f616e2e4f776e65722063616e6e6f742073657420686967686572207468616e20484152445f4341505468652070555344204465706f7420646f6573206e6f74206861766520656e6f756768207055534420746f2062757920666f72206665657345616368206163636f756e74206973206c696d74656420746f203530206c6f616e734c6f616e20416d6f756e7420657863656564732074686520737570706c79206361702e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f7567682045544820746f206372656174652074686973206c6f616e2e20506c656173652073656520746865206d696e4c6f616e53697a655468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564496e7465726573742063616e6e6f74206265206d6f7265207468616e203130302520415052496e74657265737420726174652063616e6e6f74206265206c657373207468617420746865205345434f4e44535f494e5f415f59454152a265627a7a72315820d33af5ba4f9067147e9a46c872648daafbcda5c96c34a3b944187d2eef857b8e64736f6c63430005100032",
			"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": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"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": 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": "accountsPynthLoans",
					"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": "0xab6a34fa"
				},
				{
					"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": "_totalIssuedPynths",
							"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": "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": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"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": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"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": true,
					"inputs": [],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57b21920"
				},
				{
					"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"
				}
			],
			"source": {
				"keccak256": "0xfd671fc9f3146fe7cea1b04643280635f3a576e62a805f277cee7a9dd74c0918",
				"urls": [
					"bzz-raw://5f6bb79e0d74e5a7c660ad0917775d5207d75d3e2e1152dbaafa495db6c80709",
					"dweb:/ipfs/QmRzWfnPmtWFaswCWHnXNf6nVQprN4qbbj6DsmUH5YPw88"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EtherCollateral.sol": "EtherCollateral"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EtherCollateral.sol": {
						"keccak256": "0xfd671fc9f3146fe7cea1b04643280635f3a576e62a805f277cee7a9dd74c0918",
						"urls": [
							"bzz-raw://5f6bb79e0d74e5a7c660ad0917775d5207d75d3e2e1152dbaafa495db6c80709",
							"dweb:/ipfs/QmRzWfnPmtWFaswCWHnXNf6nVQprN4qbbj6DsmUH5YPw88"
						]
					}
				},
				"version": 1
			}
		},
		"EtherCollateralpUSD": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$17dde3ba6158fad0cde918737687de0a85$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b505160960260075560408051630241ebdb60e61b8152905160649173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c091600480820192602092909190829003018186803b158015620000c957600080fd5b505af4158015620000de573d6000803e3d6000fd5b505050506040513d6020811015620000f557600080fd5b5051600502816200010257fe5b04600855620001266301e133806008546200053e60201b62003f8b1790919060201c565b6009556103e873__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017157600080fd5b505af415801562000186573d6000803e3d6000fd5b505050506040513d60208110156200019d57600080fd5b505160050281620001aa57fe5b04600a5573__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f357600080fd5b505af415801562000208573d6000803e3d6000fd5b505050506040513d60208110156200021f57600080fd5b50516298968002600b5560408051630241ebdb60e61b8152905173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c0916004808301926020929190829003018186803b1580156200027557600080fd5b505af41580156200028a573d6000803e3d6000fd5b505050506040513d6020811015620002a157600080fd5b5051600c556032600d55600e805460ff1916905560408051630241ebdb60e61b8152905160649173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c091600480820192602092909190829003018186803b1580156200030557600080fd5b505af41580156200031a573d6000803e3d6000fd5b505050506040513d60208110156200033157600080fd5b5051609602816200033e57fe5b04601055600a73__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038957600080fd5b505af41580156200039e573d6000803e3d6000fd5b505050506040513d6020811015620003b557600080fd5b505181620003bf57fe5b04601155348015620003d057600080fd5b50604051620050e2380380620050e283398181016040526040811015620003f657600080fd5b50805160209091015180826001600160a01b0381166200045d576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000508576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6001600455600580546001600160a01b0319166001600160a01b039290921691909117905550504262794a0001600f55620005aa565b600080821162000595576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481620005a157fe5b04949350505050565b614b2880620005ba6000396000f3fe60806040526004361061036b5760003560e01c8063767a7b05116101c6578063a5d5db0c116100f7578063e220a81111610095578063e5829d201161006f578063e5829d2014610c64578063eea8f5da14610c8e578063f45f08fb14610ca3578063f53dfb8414610cdc5761036b565b8063e220a81114610c01578063e3c1e58c14610c3a578063e40108ed14610c4f5761036b565b8063b410a034116100d1578063b410a03414610b81578063bb8c6d6c14610b96578063d05951a014610bc2578063dcaf9c4414610bec5761036b565b8063a5d5db0c14610a91578063a76cdfa514610abd578063ab6a34fa14610ae75761036b565b80638da5cb5b11610164578063946ce8cd1161013e578063946ce8cd1461099e5780639f7d5688146109c8578063a1c51586146109dd578063a2e1734214610a615761036b565b80638da5cb5b1461094a5780638fdc8f3b1461095f57806391b4ded9146109895761036b565b80637cc1f867116101a05780637cc1f8671461084157806380a5d3d8146108bd578063899ffef4146108fc57806389c937de146109115761036b565b8063767a7b05146107e757806379ba5097146108175780637c3a00fd1461082c5761036b565b806339735e37116102a057806357b219201161023e5780635f84f302116102185780635f84f3021461074157806360655ba71461076b578063675969be146107bd57806374185360146107d25761036b565b806357b21920146106ed5780635c975abb146107025780635d1a2229146107175761036b565b80634f069f661161027a5780634f069f66146106585780634f11815c1461068257806353a47bb7146106bb57806354e3e70d146106d05761036b565b806339735e37146105da5780634189bb491461060a578063462b97251461061f5761036b565b806323aa7f0f1161030d5780632af64bd3116102e75780632af64bd3146104da5780632f2bf15b14610503578063361e208614610586578063384585711461059b5761036b565b806323aa7f0f1461049b57806323f5589a146104b057806324bbab8b146104c55761036b565b80631627540c116103495780631627540c146103fb57806316c38b3c146104305780631775765f1461045c57806317da255e146104715761036b565b806304f3bcec14610370578063089f7fb4146103a15780631474b279146103e6575b600080fd5b34801561037c57600080fd5b50610385610d06565b604080516001600160a01b039092168252519081900360200190f35b3480156103ad57600080fd5b506103d4600480360360208110156103c457600080fd5b50356001600160a01b0316610d15565b60408051918252519081900360200190f35b3480156103f257600080fd5b506103d4610d27565b34801561040757600080fd5b5061042e6004803603602081101561041e57600080fd5b50356001600160a01b0316610d2d565b005b34801561043c57600080fd5b5061042e6004803603602081101561045357600080fd5b50351515610d89565b34801561046857600080fd5b506103d4610e03565b34801561047d57600080fd5b5061042e6004803603602081101561049457600080fd5b5035610e09565b3480156104a757600080fd5b506103d4610e4c565b3480156104bc57600080fd5b506103d4610e52565b3480156104d157600080fd5b506103d4610e58565b3480156104e657600080fd5b506104ef610e62565b604080519115158252519081900360200190f35b34801561050f57600080fd5b506105366004803603602081101561052657600080fd5b50356001600160a01b0316610f6d565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561057257818101518382015260200161055a565b505050509050019250505060405180910390f35b34801561059257600080fd5b506103d461115d565b3480156105a757600080fd5b5061042e600480360360608110156105be57600080fd5b506001600160a01b038135169060208101359060400135611163565b3480156105e657600080fd5b506103d4600480360360408110156105fd57600080fd5b508035906020013561173e565b34801561061657600080fd5b506103d4611831565b34801561062b57600080fd5b506103d46004803603604081101561064257600080fd5b506001600160a01b038135169060200135611837565b34801561066457600080fd5b5061042e6004803603602081101561067b57600080fd5b5035611857565b34801561068e57600080fd5b506103d4600480360360408110156106a557600080fd5b506001600160a01b03813516906020013561189a565b3480156106c757600080fd5b506103856118c1565b6103d4600480360360208110156106e657600080fd5b50356118d0565b3480156106f957600080fd5b506103d4611f13565b34801561070e57600080fd5b506104ef611f19565b34801561072357600080fd5b5061042e6004803603602081101561073a57600080fd5b5035611f22565b34801561074d57600080fd5b5061042e6004803603602081101561076457600080fd5b5035611fa5565b34801561077757600080fd5b506107a46004803603604081101561078e57600080fd5b506001600160a01b0381351690602001356120f1565b6040805192835260208301919091528051918290030190f35b3480156107c957600080fd5b506103d4612161565b3480156107de57600080fd5b5061042e612167565b3480156107f357600080fd5b5061042e6004803603604081101561080a57600080fd5b508035906020013561232f565b34801561082357600080fd5b5061042e612687565b34801561083857600080fd5b506103d4612743565b34801561084d57600080fd5b50610856612749565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e0880152610100870152610120860152610140850152610160840152151561018083015251908190036101a00190f35b3480156108c957600080fd5b5061042e600480360360608110156108e057600080fd5b506001600160a01b0381351690602081013590604001356127b4565b34801561090857600080fd5b50610536612b15565b34801561091d57600080fd5b506103d46004803603604081101561093457600080fd5b506001600160a01b038135169060200135612bd8565b34801561095657600080fd5b50610385612c3a565b34801561096b57600080fd5b506103d46004803603602081101561098257600080fd5b5035612c49565b34801561099557600080fd5b506103d4612cef565b3480156109aa57600080fd5b5061042e600480360360208110156109c157600080fd5b5035612cf5565b3480156109d457600080fd5b506103d4612df2565b3480156109e957600080fd5b50610a1660048036036040811015610a0057600080fd5b506001600160a01b038135169060200135612df8565b604080516001600160a01b0390991689526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b348015610a6d57600080fd5b506103d460048036036040811015610a8457600080fd5b5080359060200135612e9f565b61042e60048036036040811015610aa757600080fd5b506001600160a01b038135169060200135612ecd565b348015610ac957600080fd5b5061042e60048036036020811015610ae057600080fd5b5035613093565b348015610af357600080fd5b50610b2060048036036040811015610b0a57600080fd5b506001600160a01b0381351690602001356130d6565b604080516001600160a01b03909b168b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015264ffffffffff1661012083015251908190036101400190f35b348015610b8d57600080fd5b506103d4613154565b348015610ba257600080fd5b5061042e60048036036020811015610bb957600080fd5b50351515613179565b348015610bce57600080fd5b5061042e60048036036020811015610be557600080fd5b5035613223565b348015610bf857600080fd5b506103d461333b565b348015610c0d57600080fd5b5061042e60048036036040811015610c2457600080fd5b506001600160a01b038135169060200135613341565b348015610c4657600080fd5b506104ef6134f2565b348015610c5b57600080fd5b506103d46134fb565b348015610c7057600080fd5b5061042e60048036036020811015610c8757600080fd5b5035613501565b348015610c9a57600080fd5b506103d46135d5565b348015610caf57600080fd5b506103d460048036036040811015610cc657600080fd5b506001600160a01b0381351690602001356135db565b348015610ce857600080fd5b506103d460048036036020811015610cff57600080fd5b5035613605565b6005546001600160a01b031681565b60166020526000908152604090205481565b600d5481565b610d356136b2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610d916136b2565b60035460ff1615158115151415610da757610e00565b6003805460ff1916821515179081905560ff1615610dc457426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60105481565b610e116136b2565b600c8190556040805182815290517f9f45df4d81199bea8f20e88707b6f7d36b8e8f20a7def01c113746f67557ffb69181900360200190a150565b60135481565b60115481565b6208aa8960eb1b81565b60006060610e6e612b15565b905060005b8151811015610f63576000828281518110610e8a57fe5b6020908102919091018101516000818152600683526040908190205460055482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610ef257600080fd5b505afa158015610f06573d6000803e3d6000fd5b505050506040513d6020811015610f1c57600080fd5b50516001600160a01b0316141580610f4957506000818152600660205260409020546001600160a01b0316155b15610f5a5760009350505050610f6a565b50600101610e73565b5060019150505b90565b6001600160a01b03811660009081526015602090815260408083208054825181850281018501909352808352606094859484015b828210156110445760008481526020908190206040805161014081018252600a860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e084015260088101546101008401526009015464ffffffffff166101208301529083529092019101610fa1565b50505050905060608151604051908082528060200260200182016040528015611077578160200160208202803883390190505b5090506000805b83518110156110e55783818151811061109357fe5b602002602001015160c00151600014156110dd578381815181106110b357fe5b602002602001015160a001518383815181106110cb57fe5b60209081029190910101526001909101905b60010161107e565b50606081604051908082528060200260200182016040528015611112578160200160208202803883390190505b50905060005b828110156111535783818151811061112c57fe5b602002602001015182828151811061114057fe5b6020908102919091010152600101611118565b5095945050505050565b600a5481565b60048054600101908190556111766136fd565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156111bf57600080fd5b505afa1580156111d3573d6000803e3d6000fd5b505050506040513d60208110156111e957600080fd5b50511561122b576040805162461bcd60e51b815260206004820152601e602482015260008051602061492b833981519152604482015290519081900360640190fd5b611233613718565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561126b57600080fd5b505afa15801561127f573d6000803e3d6000fd5b505050508161128c613732565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112e157600080fd5b505afa1580156112f5573d6000803e3d6000fd5b505050506040513d602081101561130b57600080fd5b5051101561135a576040805162461bcd60e51b81526020600482015260176024820152764e6f7420656e6f75676820705553442062616c616e636560481b604482015290519081900360640190fd5b611362614766565b61136c8585613749565b90506113778161388c565b600080600061138584613928565b92509250925060105483106113cb5760405162461bcd60e51b81526004018080602001828103825260288152602001806147ca6028913960400191505060405180910390fd5b60006114026113fc836113f08861010001518960400151613a1890919063ffffffff16565b9063ffffffff613a1816565b8461173e565b905060008782106114135787611415565b815b905061141f613732565b6001600160a01b0316639dc29fac33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561147e57600080fd5b505af1158015611492573d6000803e3d6000fd5b5050505060008060006114c1846114b7888c6101000151613a1890919063ffffffff16565b8b60400151613a72565b509250925092506114d28383613aeb565b60006114dc6136fd565b6001600160a01b031663654a60ac631c1554d160e21b876208aa8960eb1b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561153c57600080fd5b505afa158015611550573d6000803e3d6000fd5b505050506040513d602081101561156657600080fd5b505160115460408051630241ebdb60e61b8152905192935060009261160b926115fe92909173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c0916004808301926020929190829003018186803b1580156115c657600080fd5b505af41580156115da573d6000803e3d6000fd5b505050506040513d60208110156115f057600080fd5b50519063ffffffff613a1816565b839063ffffffff613c0a16565b905061162f8b611628868e60400151613c3490919063ffffffff16565b8542613c91565b61164f8b61164a838e60200151613c3490919063ffffffff16565b613d71565b50604051339082156108fc029083906000818181858888f1935050505015801561167d573d6000803e3d6000fd5b508e6001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c58f33898560405180858152602001846001600160a01b03166001600160a01b0316815260200183815260200182815260200194505050505060405180910390a250505050505050505050506004548114611738576040805162461bcd60e51b815260206004820152601f6024820152600080516020614823833981519152604482015290519081900360640190fd5b50505050565b60008073__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561178557600080fd5b505af4158015611799573d6000803e3d6000fd5b505050506040513d60208110156117af57600080fd5b505160105490915060006117d96117cc868463ffffffff613e9616565b879063ffffffff613c3416565b90506000611812611805846117f960115488613a1890919063ffffffff16565b9063ffffffff613e9616565b859063ffffffff613c3416565b9050611824828263ffffffff613e9616565b9450505050505b92915050565b60145481565b6000611841614766565b61184b8484613749565b60600151949350505050565b61185f6136b2565b600b8190556040805182815290517fbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e59181900360200190a150565b60006118a4614766565b6118ae8484613749565b90506118b981613ec0565b949350505050565b6001546001600160a01b031681565b60035460009060ff16156119155760405162461bcd60e51b815260040180806020018281038252603c815260200180614a14603c913960400191505060405180910390fd5b60048054600101908190556119286136fd565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561197157600080fd5b505afa158015611985573d6000803e3d6000fd5b505050506040513d602081101561199b57600080fd5b5051156119dd576040805162461bcd60e51b815260206004820152601e602482015260008051602061492b833981519152604482015290519081900360640190fd5b6119e5613718565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a1d57600080fd5b505afa158015611a31573d6000803e3d6000fd5b50505050600c54341015611a765760405162461bcd60e51b8152600401808060200182810382526048815260200180614aac6048913960600191505060405180910390fd5b600e5460ff1615611ace576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b600d543360009081526015602052604090205410611b1d5760405162461bcd60e51b81526004018080602001828103825260238152602001806149a16023913960400191505060405180910390fd5b6000611b2834612c49565b905080841115611b695760405162461bcd60e51b81526004018080602001828103825260278152602001806148db6027913960400191505060405180910390fd5b6000611b7485613f27565b90506000611b88868363ffffffff613c3416565b9050600b54611ba287601254613a1890919063ffffffff16565b1115611bdf5760405162461bcd60e51b815260040180806020018281038252602381526020018061497e6023913960400191505060405180910390fd5b611be7613f3e565b9450611bf1614766565b5060408051610140810182523381523460208201529081018790526060810183905242608082015260a08101869052600060c0820181905260085460e083015261010082018190526101208201528215611d3e57611c4d613732565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611cc057600080fd5b505af1158015611cd4573d6000803e3d6000fd5b50505050611ce0613f76565b6001600160a01b03166322bf55ef846040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611d2557600080fd5b505af1158015611d39573d6000803e3d6000fd5b505050505b336000908152601560209081526040808320805460018082018355918552938390208551600a9095020180546001600160a01b0319166001600160a01b0390951694909417845591840151918301919091558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160088201556101208201516009909101805464ffffffffff191664ffffffffff909216919091179055601254611e069088613a18565b601255611e11613732565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611e7057600080fd5b505af1158015611e84573d6000803e3d6000fd5b505060408051898152602081018b905281513394507f58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f93509081900390910190a2505050506004548114611f0d576040805162461bcd60e51b815260206004820152601f6024820152600080516020614823833981519152604482015290519081900360640190fd5b50919050565b60125481565b60035460ff1681565b611f2a6136b2565b6103e88110611f6a5760405162461bcd60e51b815260040180806020018281038252603381526020018061494b6033913960400191505060405180910390fd5b600d8190556040805182815290517f59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b69181900360200190a150565b611fad6136b2565b6301e133808111611fef5760405162461bcd60e51b8152600401808060200182810382526037815260200180614a756037913960400191505060405180910390fd5b73__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561203357600080fd5b505af4158015612047573d6000803e3d6000fd5b505050506040513d602081101561205d57600080fd5b505181111561209d5760405162461bcd60e51b8152600401808060200182810382526025815260200180614a506025913960400191505060405180910390fd5b60088190556120b6816301e1338063ffffffff613f8b16565b60095560085460408051918252517fa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d749181900360200190a150565b6000806120fc614766565b6121068585613749565b905060006121268261010001518360400151613a1890919063ffffffff16565b905061214f61213d8261213885613ec0565b612e9f565b6101008401519063ffffffff613a1816565b93508160600151925050509250929050565b600c5481565b6060612171612b15565b905060005b815181101561232b57600082828151811061218d57fe5b602090810291909101810151600554604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561224357818101518382015260200161222b565b50505050905090810190601f1680156122705780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561228e57600080fd5b505afa1580156122a2573d6000803e3d6000fd5b505050506040513d60208110156122b857600080fd5b505160008381526006602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101612176565b5050565b60035460ff16156123715760405162461bcd60e51b815260040180806020018281038252603c815260200180614a14603c913960400191505060405180910390fd5b60048054600101908190556123846136fd565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156123cd57600080fd5b505afa1580156123e1573d6000803e3d6000fd5b505050506040513d60208110156123f757600080fd5b505115612439576040805162461bcd60e51b815260206004820152601e602482015260008051602061492b833981519152604482015290519081900360640190fd5b600082116124785760405162461bcd60e51b81526004018080602001828103825260298152602001806149026029913960400191505060405180910390fd5b612480613718565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156124b857600080fd5b505afa1580156124cc573d6000803e3d6000fd5b5050600e5460ff1615915061252a9050576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b612532614766565b61253c3385613749565b90506125478161388c565b602081015160009061255f908563ffffffff613c3416565b9050612569614766565b6125738383613d71565b9050600061258082613928565b5050905060105481116125c45760405162461bcd60e51b81526004018080602001828103825260318152602001806147f26031913960400191505060405180910390fd5b604051339087156108fc029088906000818181858888f193505050501580156125f1573d6000803e3d6000fd5b50602080830151604080518a8152928301899052828101919091525133917ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303919081900360600190a2505050506004548114612682576040805162461bcd60e51b815260206004820152601f6024820152600080516020614823833981519152604482015290519081900360640190fd5b505050565b6001546001600160a01b031633146126d05760405162461bcd60e51b81526004018080602001828103825260358152602001806148436035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60085481565b60075460008080808080808080808080612761613154565b9b506008549a506009549950600a549850600b549750600c549650601254955060135494506014549350479250600f549150600e60009054906101000a900460ff169050909192939495969798999a9b9c565b6127bc6136fd565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561280557600080fd5b505afa158015612819573d6000803e3d6000fd5b505050506040513d602081101561282f57600080fd5b505115612871576040805162461bcd60e51b815260206004820152601e602482015260008051602061492b833981519152604482015290519081900360640190fd5b612879613718565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156128b157600080fd5b505afa1580156128c5573d6000803e3d6000fd5b50505050806128d2613732565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561292757600080fd5b505afa15801561293b573d6000803e3d6000fd5b505050506040513d602081101561295157600080fd5b505110156129a0576040805162461bcd60e51b81526020600482015260176024820152764e6f7420656e6f75676820705553442062616c616e636560481b604482015290519081900360640190fd5b6129a8614766565b6129b28484613749565b90506129bd8161388c565b60006129db8261010001518360400151613a1890919063ffffffff16565b905060006129ec8261213885613ec0565b90506000612a0882856101000151613a1890919063ffffffff16565b9050600080600080612a1f89868a60400151613a72565b9350935093509350612a2f613732565b6001600160a01b0316639dc29fac338b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612a8e57600080fd5b505af1158015612aa2573d6000803e3d6000fd5b50505050612ab08484613aeb565b612abc88828442613c91565b604080518b8152602081018b905280820183905290516001600160a01b038d16917f2cebe3c4a7e8e81ca2035a6cb3ee450bb6401d9b6636652e183583f047049572919081900360600190a25050505050505050505050565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110612b5557fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b81600181518110612b7b57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110612ba557fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110612bc957fe5b60200260200101818152505090565b6000612be2614766565b612bec8484613749565b90506000612c18612c0f8361010001518460400151613a1890919063ffffffff16565b61213884613ec0565b610100830151909150612c31908263ffffffff613a1816565b95945050505050565b6000546001600160a01b031681565b600061182b612c566136fd565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612c9f57600080fd5b505afa158015612cb3573d6000803e3d6000fd5b505050506040513d6020811015612cc957600080fd5b5051612ce3612cd6613154565b859063ffffffff613c0a16565b9063ffffffff613c0a16565b60025481565b612cfd6136b2565b73__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612d4157600080fd5b505af4158015612d55573d6000803e3d6000fd5b505050506040513d6020811015612d6b57600080fd5b50518111612db7576040805162461bcd60e51b8152602060048201526014602482015273526174696f206c657373207468616e203130302560601b604482015290519081900360640190fd5b60108190556040805182815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9181900360200190a150565b600f5481565b600080600080600080600080612e0c614766565b612e168b8b613749565b9050806000015198508060200151975080604001519650806080015195508060a0015194508060c001519350612e76612e64612c0f8361010001518460400151613a1890919063ffffffff16565b6101008301519063ffffffff613a1816565b9250612e8f816060015184613a1890919063ffffffff16565b9150509295985092959890939650565b6000612ec6612eb983600954613ff590919063ffffffff16565b849063ffffffff61404e16565b9392505050565b60035460ff1615612f0f5760405162461bcd60e51b815260040180806020018281038252603c815260200180614a14603c913960400191505060405180910390fd5b60003411612f4e5760405162461bcd60e51b81526004018080602001828103825260258152602001806148b66025913960400191505060405180910390fd5b612f56613718565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f8e57600080fd5b505afa158015612fa2573d6000803e3d6000fd5b5050600e5460ff161591506130009050576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b613008614766565b6130128383613749565b905061301d8161388c565b6020810151600090613035903463ffffffff613a1816565b90506130418282613d71565b506040805184815234602082015280820183905290516001600160a01b038616917f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c919081900360600190a250505050565b61309b6136b2565b600a8190556040805182815290517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c9181900360200190a150565b601560205281600052604060002081815481106130ef57fe5b60009182526020909120600a909102018054600182015460028301546003840154600485015460058601546006870154600788015460088901546009909901546001600160a01b039098169a50959850939692959194909392909164ffffffffff168a565b600061317460075468056bc75e2d6310000061406390919063ffffffff16565b905090565b6131816136b2565b600f5442116131d7576040805162461bcd60e51b815260206004820152601b60248201527f4265666f7265206c69717569646174696f6e20646561646c696e650000000000604482015290519081900360640190fd5b600e805460ff191682151517908190556040805160ff90921615158252517faa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567916020908290030190a150565b60048054600101908190556132366136fd565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561327f57600080fd5b505afa158015613293573d6000803e3d6000fd5b505050506040513d60208110156132a957600080fd5b5051156132eb576040805162461bcd60e51b815260206004820152601e602482015260008051602061492b833981519152604482015290519081900360640190fd5b6132f733836000614078565b600454811461232b576040805162461bcd60e51b815260206004820152601f6024820152600080516020614823833981519152604482015290519081900360640190fd5b60075481565b60048054600101908190556133546136fd565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561339d57600080fd5b505afa1580156133b1573d6000803e3d6000fd5b505050506040513d60208110156133c757600080fd5b505115613409576040805162461bcd60e51b815260206004820152601e602482015260008051602061492b833981519152604482015290519081900360640190fd5b600e5460ff16613460576040805162461bcd60e51b815260206004820152601760248201527f4c69717569646174696f6e206973206e6f74206f70656e000000000000000000604482015290519081900360640190fd5b61346c83836001614078565b6040805183815233602082015281516001600160a01b038616927fde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38928290030190a26004548114612682576040805162461bcd60e51b815260206004820152601f6024820152600080516020614823833981519152604482015290519081900360640190fd5b600e5460ff1681565b60095481565b6135096136b2565b683635c9adc5dea00000811115613552576040805162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015290519081900360640190fd5b68056bc75e2d6310000081101561359a576040805162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b604482015290519081900360640190fd5b60078190556040805182815290517ffb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce078695309181900360200190a150565b600b5481565b60006135e5614766565b6135ef8484613749565b90506135fa81613928565b509095945050505050565b600061182b68056bc75e2d631000006136a6612cd66136226136fd565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561366b57600080fd5b505afa15801561367f573d6000803e3d6000fd5b505050506040513d602081101561369557600080fd5b50516007549063ffffffff61406316565b9063ffffffff61406316565b6000546001600160a01b031633146136fb5760405162461bcd60e51b815260040180806020018281038252602f8152602001806149c4602f913960400191505060405180910390fd5b565b60006131746c45786368616e6765526174657360981b61458b565b60006131746b53797374656d53746174757360a01b61458b565b600061317468141e5b9d1a1c1554d160ba1b61458b565b613751614766565b6001600160a01b0383166000908152601560209081526040808320805482518185028101850190935280835260609492939192909184015b8282101561382c5760008481526020908190206040805161014081018252600a860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e084015260088101546101008401526009015464ffffffffff166101208301529083529092019101613789565b509293506000925050505b8151811015613884578382828151811061384d57fe5b602002602001015160a00151141561387c5781818151811061386b57fe5b60200260200101519250505061182b565b600101613837565b505092915050565b60008160a00151116138db576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b60c081015115610e00576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88185b1c9958591e4818db1bdcd959606a1b604482015290519081900360640190fd5b60008060008061394a8561010001518660400151613a1890919063ffffffff16565b90506139598161213887613ec0565b91506139ec6139666136fd565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156139af57600080fd5b505afa1580156139c3573d6000803e3d6000fd5b505050506040513d60208110156139d957600080fd5b505160208701519063ffffffff613c0a16565b9250613a0e613a01828463ffffffff613a1816565b849063ffffffff613e9616565b9350509193909250565b600082820183811015612ec6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000808381868015801590613a875750600087115b15613ac257868111613a995780613a9b565b865b9450613aad838663ffffffff613c3416565b9250613abf818663ffffffff613c3416565b90505b8591508015613ae157613adb828263ffffffff613c3416565b91508093505b5093509350935093565b8115613bea57613af9613732565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015613b6c57600080fd5b505af1158015613b80573d6000803e3d6000fd5b50505050613b8c613f76565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613bd157600080fd5b505af1158015613be5573d6000803e3d6000fd5b505050505b801561232b57601254613c03908263ffffffff613c3416565b6012555050565b6000670de0b6b3a7640000613c25848463ffffffff613ff516565b81613c2c57fe5b049392505050565b600082821115613c8b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b83516001600160a01b03166000908152601560205260408120905b8154811015613d69578560a00151828281548110613cc657fe5b90600052602060002090600a0201600501541415613d615784828281548110613ceb57fe5b90600052602060002090600a02016002018190555083828281548110613d0d57fe5b90600052602060002090600a02016008018190555082828281548110613d2f57fe5b90600052602060002090600a020160090160006101000a81548164ffffffffff021916908364ffffffffff1602179055505b600101613cac565b505050505050565b613d79614766565b82516001600160a01b03166000908152601560205260408120905b8154811015613884578460a00151828281548110613dae57fe5b90600052602060002090600a0201600501541415613e8e5783828281548110613dd357fe5b90600052602060002090600a020160010181905550818181548110613df457fe5b60009182526020918290206040805161014081018252600a90930290910180546001600160a01b031683526001810154938301939093526002830154908201526003820154606082015260048201546080820152600582015460a0820152600682015460c0820152600782015460e0820152600882015461010082015260099091015464ffffffffff16610120820152925061182b915050565b600101613d94565b6000612ec682613eb485670de0b6b3a764000063ffffffff613ff516565b9063ffffffff613f8b16565b600080600083610120015164ffffffffff1611613ee1578260800151613eef565b82610120015164ffffffffff165b905060008360c0015111613f1257613f0d428263ffffffff613c3416565b612ec6565b60c0830151612ec6908263ffffffff613c3416565b600061182b600a548361404e90919063ffffffff16565b601454600090613f5590600163ffffffff613a1816565b601455601354613f6c90600163ffffffff613a1816565b6013819055905090565b600061317466119959541bdbdb60ca1b61458b565b6000808211613fe1576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613fec57fe5b04949350505050565b6000826140045750600061182b565b8282028284828161401157fe5b0414612ec65760405162461bcd60e51b81526004018080602001828103825260218152602001806149f36021913960400191505060405180910390fd5b6000612ec68383670de0b6b3a764000061466f565b6000612ec68383670de0b6b3a76400006146ac565b614080613718565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156140b857600080fd5b505afa1580156140cc573d6000803e3d6000fd5b505050506140d8614766565b6140e28484613749565b90506140ed8161388c565b600061410e612c0f8361010001518460400151613a1890919063ffffffff16565b90506000614129828460400151613a1890919063ffffffff16565b9050600061414583856101000151613a1890919063ffffffff16565b905081614150613732565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156141a557600080fd5b505afa1580156141b9573d6000803e3d6000fd5b505050506040513d60208110156141cf57600080fd5b5051101561420e5760405162461bcd60e51b815260040180806020018281038252603e815260200180614878603e913960400191505060405180910390fd5b614217846146d2565b6142456142368561010001518660400151613c3490919063ffffffff16565b6012549063ffffffff613c3416565b601255614250613732565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156142af57600080fd5b505af11580156142c3573d6000803e3d6000fd5b505050506142cf613732565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561434257600080fd5b505af1158015614356573d6000803e3d6000fd5b50505050614362613f76565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156143a757600080fd5b505af11580156143bb573d6000803e3d6000fd5b50505050602084015185156145045760006143d46136fd565b6001600160a01b031663654a60ac631c1554d160e21b866208aa8960eb1b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561443457600080fd5b505afa158015614448573d6000803e3d6000fd5b505050506040513d602081101561445e57600080fd5b505160115460408051630241ebdb60e61b815290519293506000926144be926115fe92909173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c0916004808301926020929190829003018186803b1580156115c657600080fd5b90506144d0838263ffffffff613c3416565b604051909350339082156108fc029083906000818181858888f19350505050158015614500573d6000803e3d6000fd5b5050505b84516040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561453d573d6000803e3d6000fd5b50604080518881526020810184905281516001600160a01b038b16927f3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e928290030190a25050505050505050565b600081815260066020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816146685760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561462d578181015183820152602001614615565b50505050905090810190601f16801561465a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600080600a8304614686868663ffffffff613ff516565b8161468d57fe5b0490506005600a825b06106146a057600a015b600a9004949350505050565b6000806146c684613eb487600a870263ffffffff613ff516565b90506005600a82614696565b80516001600160a01b03166000908152601560205260408120905b815481101561474a578260a0015182828154811061470757fe5b90600052602060002090600a0201600501541415614742574282828154811061472c57fe5b90600052602060002090600a0201600601819055505b6001016146ed565b5060145461475f90600163ffffffff613c3416565b6014555050565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600064ffffffffff168152509056fe436f6c6c61746572616c20726174696f2061626f7665206c69717569646174696f6e20726174696f436f6c6c61746572616c20726174696f2062656c6f77206c69717569646174696f6e2061667465722077697468647261775265656e7472616e637947756172643a207265656e7472616e742063616c6c00596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970596f7520646f206e6f742068617665207468652072657175697265642050796e74682062616c616e636520746f20636c6f73652074686973206c6f616e2e4465706f73697420616d6f756e74206d7573742062652067726561746572207468616e20304c6f616e20616d6f756e742065786365656473206d617820626f72726f77696e6720706f776572416d6f756e7420746f207769746864726177206d7573742062652067726561746572207468616e2030426c6f636b656420617320455448207261746520697320696e76616c696400004f776e65722063616e6e6f742073657420686967686572207468616e204143434f554e545f4c4f414e5f4c494d49545f4341504c6f616e20416d6f756e7420657863656564732074686520737570706c79206361702e45616368206163636f756e74206973206c696d6974656420746f203530206c6f616e734f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564496e7465726573742063616e6e6f74206265206d6f7265207468616e203130302520415052496e74657265737420726174652063616e6e6f74206265206c657373207468617420746865205345434f4e44535f494e5f415f594541524e6f7420656e6f7567682045544820746f206372656174652074686973206c6f616e2e20506c656173652073656520746865206d696e4c6f616e436f6c6c61746572616c53697a65a265627a7a723158204b876c4ab800247ed841b86c52bfe7ace12482a2e3fe15d74aaea3d708d57eb564736f6c63430005100032",
			"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": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"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": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatioUpdated",
					"type": "event",
					"signature": "0x5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a"
				},
				{
					"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": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidatedAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidatedCollateral",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "repaidAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newLoanAmount",
							"type": "uint256"
						}
					],
					"name": "LoanRepaid",
					"type": "event",
					"signature": "0x2cebe3c4a7e8e81ca2035a6cb3ee450bb6401d9b6636652e183583f047049572"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minLoanCollateralSize",
							"type": "uint256"
						}
					],
					"name": "MinLoanCollateralSizeUpdated",
					"type": "event",
					"signature": "0x9f45df4d81199bea8f20e88707b6f7d36b8e8f20a7def01c113746f67557ffb6"
				},
				{
					"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": "COLLATERAL",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x24bbab8b"
				},
				{
					"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": "accountsPynthLoans",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "mintingFee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanInterestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint40",
							"name": "lastInterestAccrued",
							"type": "uint40"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab6a34fa"
				},
				{
					"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": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "calculateAmountToLiquidate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x39735e37"
				},
				{
					"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": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "depositCollateral",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xa5d5db0c"
				},
				{
					"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": "_minLoanCollateralSize",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalIssuedPynths",
							"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": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalFees",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa1c51586"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoanCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanCollateralRatio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf45f08fb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getMintingFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x462b9725"
				},
				{
					"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": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"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"
						},
						{
							"internalType": "uint256",
							"name": "_debtToCover",
							"type": "uint256"
						}
					],
					"name": "liquidateLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x38458571"
				},
				{
					"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": [],
					"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": 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": [],
					"name": "loanLiquidationOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c1e58c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minLoanCollateralSize",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x675969be"
				},
				{
					"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": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						}
					],
					"name": "openLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x54e3e70d"
				},
				{
					"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": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_repayAmount",
							"type": "uint256"
						}
					],
					"name": "repayLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x80a5d3d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"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": "uint256",
							"name": "_liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x946ce8cd"
				},
				{
					"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": "_minLoanCollateralSize",
							"type": "uint256"
						}
					],
					"name": "setMinLoanCollateralSize",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x17da255e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "timeSinceInterestAccrualOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4f11815c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "totalFeesOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "mintingFee",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x60655ba7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57b21920"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "withdrawAmount",
							"type": "uint256"
						}
					],
					"name": "withdrawCollateral",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x767a7b05"
				}
			],
			"source": {
				"keccak256": "0x7b836f77a4861e008fa3926e28d91067995bc186ce772483b4991fb4c2f3e545",
				"urls": [
					"bzz-raw://bd3e2e6c29d7e24ef32b2c0121dfbe8f4a96b3a7be38357b1e3539ac4fd85364",
					"dweb:/ipfs/QmaNKsvUnYqDashC3rnCyNVG75cEVQE2CxCLjNcg1bFpvF"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EtherCollateralpUSD.sol": "EtherCollateralpUSD"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EtherCollateralpUSD.sol": {
						"keccak256": "0x7b836f77a4861e008fa3926e28d91067995bc186ce772483b4991fb4c2f3e545",
						"urls": [
							"bzz-raw://bd3e2e6c29d7e24ef32b2c0121dfbe8f4a96b3a7be38357b1e3539ac4fd85364",
							"dweb:/ipfs/QmaNKsvUnYqDashC3rnCyNVG75cEVQE2CxCLjNcg1bFpvF"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceBridgeToOptimism": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200238038038062002380833981016040819052620000349162000108565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001c4565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b69184906200019e565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550506004805460ff19166001179055506200021f565b8051620001028162000205565b92915050565b600080604083850312156200011c57600080fd5b60006200012a8585620000f5565b92505060206200013d85828601620000f5565b9150509250929050565b6200015281620001f1565b82525050565b6200015281620001df565b600062000172601983620001d6565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001ae828562000147565b620001bd602083018462000158565b9392505050565b60208082528101620001028162000163565b90815260200190565b60006001600160a01b03821662000102565b6000620001028260006200010282620001df565b6200021081620001df565b81146200021c57600080fd5b50565b612151806200022f6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806379ba509711610097578063cb82747411610066578063cb827474146101d0578063ccce9506146101e3578063d7f5b359146101f6578063e2ff2d431461020957610100565b806379ba509714610198578063899ffef4146101a05780638da5cb5b146101b5578063a18e2307146101bd57610100565b80633c6b16ab116100d35780633c6b16ab1461015557806353a47bb7146101685780636bfd78351461017d578063741853601461019057610100565b806304f3bcec146101055780631627540c14610123578063186601ca146101385780632af64bd31461014d575b600080fd5b61010d61021c565b60405161011a9190611f2b565b60405180910390f35b61013661013136600461170a565b61022b565b005b610140610289565b60405161011a9190611ed3565b610140610292565b6101366101633660046117db565b6103aa565b6101706103ff565b60405161011a9190611da2565b61013661018b366004611788565b61040e565b610136610427565b61013661057d565b6101a8610619565b60405161011a9190611ec2565b610170610766565b6101366101cb366004611817565b610775565b6101366101de3660046117db565b6107a4565b6101366101f13660046117db565b6107bd565b61013661020436600461170a565b610858565b61013661021736600461174e565b6109e6565b6002546001600160a01b031681565b610233610ba2565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061027e908390611da2565b60405180910390a150565b60045460ff1681565b6000606061029e610619565b905060005b81518110156103a05760008282815181106102ba57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061030b908590600401611ee1565b60206040518083038186803b15801561032357600080fd5b505afa158015610337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061035b9190810190611730565b6001600160a01b031614158061038657506000818152600360205260409020546001600160a01b0316155b1561039757600093505050506103a7565b506001016102a3565b5060019150505b90565b6103b2610bce565b6103ba610bf0565b6001600160a01b0316336001600160a01b0316146103f35760405162461bcd60e51b81526004016103ea90611fba565b60405180910390fd5b6103fc81610c16565b50565b6001546001600160a01b031681565b610416610bce565b61041e610d29565b6103fc81610dc9565b6060610431610619565b905060005b815181101561057957600082828151811061044d57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161048f9190611d97565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016104bb929190611f0b565b60206040518083038186803b1580156104d357600080fd5b505afa1580156104e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061050b9190810190611730565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906105679084908490611eef565b60405180910390a15050600101610436565b5050565b6001546001600160a01b031633146105a75760405162461bcd60e51b81526004016103ea90611f4a565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926105ea926001600160a01b0391821692911690611e6a565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610624610fdb565b60408051600680825260e08201909252919250606091906020820160c0803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b8160008151811061066957fe5b6020026020010181815250506a5065726946696e616e636560a81b8160018151811061069157fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106106b457fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b816003815181106106e457fe5b6020026020010181815250507f6f766d3a5065726946696e616e6365427269646765546f4261736500000000008160048151811061071e57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160058151811061074957fe5b60200260200101818152505061075f828261102c565b9250505090565b6000546001600160a01b031681565b61077d610bce565b610785610d29565b8051156107955761079581610dc9565b811561057957610579826110e8565b6107ac610bce565b6107b4610d29565b6103fc816110e8565b6107c5610bce565b6107cd61127a565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b81526004016107fc93929190611db0565b602060405180830381600087803b15801561081657600080fd5b505af115801561082a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061084e91908101906117bd565b506103fc81610c16565b610860610ba2565b610868610bce565b6001600160a01b03811661088e5760405162461bcd60e51b81526004016103ea90611fca565b6004805460ff1916905560006108a261127a565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016108d29190611da2565b60206040518083038186803b1580156108ea57600080fd5b505afa1580156108fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061092291908101906117f9565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb906109539086908590600401611e12565b602060405180830381600087803b15801561096d57600080fd5b505af1158015610981573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109a591908101906117bd565b507fa1bbeeb6860c5db529c582b6bdbc57a2e9862ef771e5bed3a082f7d9da54904a3084836040516109d993929190611e85565b60405180910390a1505050565b6109ee610bce565b6109f6611293565b6001600160a01b0316336001600160a01b031614610a265760405162461bcd60e51b81526004016103ea90611faa565b610a2e6112ae565b6001600160a01b0316610a3f611293565b6001600160a01b0316636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b158015610a7757600080fd5b505afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aaf9190810190611730565b6001600160a01b031614610ad55760405162461bcd60e51b81526004016103ea90611f5a565b610add61127a565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b8152600401610b0a929190611e12565b602060405180830381600087803b158015610b2457600080fd5b505af1158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b5c91908101906117bd565b50816001600160a01b03167f1a39b9c5044b9f0ff56c5951e30c1ebe24911353aafcceb9250e83a24fe158c482604051610b969190611ee1565b60405180910390a25050565b6000546001600160a01b03163314610bcc5760405162461bcd60e51b81526004016103ea90611f9a565b565b60045460ff16610bcc5760405162461bcd60e51b81526004016103ea90611f7a565b6000610c11722932bbb0b93239a234b9ba3934b13aba34b7b760691b6112d5565b905090565b60405160009060609063f69053c560e01b90610c36908590602401611ee1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610c72611293565b6001600160a01b0316633dbb202b610c886112ae565b83610c93600261133b565b6040518463ffffffff1660e01b8152600401610cb193929190611e93565b600060405180830381600087803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b50505050336001600160a01b03167f95bf5847357310d24f8d03d8bad76c8ee329dfd3a3cb200df21c7bd1619e93bd84604051610d1c9190611ee1565b60405180910390a2505050565b610d316113e1565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b8152600401610d5c9190611df8565b60206040518083038186803b158015610d7457600080fd5b505afa158015610d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dac91908101906117f9565b15610bcc5760405162461bcd60e51b81526004016103ea90611f8a565b60005b815181101561057957601a60ff16828281518110610de657fe5b6020026020010151511115610e0d5760405162461bcd60e51b81526004016103ea90611f6a565b60006060610e196113f5565b6001600160a01b03166380d46f5833868681518110610e3457fe5b60200260200101516040518363ffffffff1660e01b8152600401610e59929190611dd8565b600060405180830381600087803b158015610e7357600080fd5b505af1158015610e87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eaf919081019061185f565b90925090508115610fd15760405160009060609063355bf0e160e11b90610ede90339087908790602401611e34565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610f1a611293565b6001600160a01b0316633dbb202b610f306112ae565b83610f3b600161133b565b6040518463ffffffff1660e01b8152600401610f5993929190611e93565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b50505050336001600160a01b03167f4dc5956ab6218a4dfa2cc5e5c50d98d039dde03aabfc504c54b601b6f56226968585604051610fc6929190611fea565b60405180910390a250505b5050600101610dcc565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061101d57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561105c578160200160208202803883390190505b50905060005b835181101561109e5783818151811061107757fe5b602002602001015182828151811061108b57fe5b6020908102919091010152600101611062565b5060005b82518110156110e1578281815181106110b757fe5b60200260200101518282865101815181106110ce57fe5b60209081029190910101526001016110a2565b5092915050565b6110f061127a565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b815260040161111f93929190611db0565b602060405180830381600087803b15801561113957600080fd5b505af115801561114d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061117191908101906117bd565b506040516000906060906309853aff60e11b906111949033908690602401611e12565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506111d0611293565b6001600160a01b0316633dbb202b6111e66112ae565b836111f1600061133b565b6040518463ffffffff1660e01b815260040161120f93929190611e93565b600060405180830381600087803b15801561122957600080fd5b505af115801561123d573d6000803e3d6000fd5b50505050336001600160a01b03167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c84604051610d1c9190611ee1565b6000610c116a5065726946696e616e636560a81b6112d5565b6000610c116c32bc3a1d26b2b9b9b2b733b2b960991b6112d5565b6000610c117f6f766d3a5065726946696e616e6365427269646765546f4261736500000000005b60008181526003602090815260408083205490516001600160a01b03909116918215159161130591869101611d77565b604051602081830303815290604052906113325760405162461bcd60e51b81526004016103ea9190611f39565b5090505b919050565b6000611345611411565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b61136e8561142e565b6040518363ffffffff1660e01b815260040161138b929190611efd565b60206040518083038186803b1580156113a357600080fd5b505afa1580156113b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113db91908101906117f9565b92915050565b6000610c116524b9b9bab2b960d11b6112d5565b6000610c116d2932bbb0b93222b9b1b937bbab1960911b6112d5565b6000610c116e466c657869626c6553746f7261676560881b6112d5565b60008082600381111561143d57fe5b141561146a57507f63726f7373446f6d61696e4465706f7369744761734c696d6974000000000000611336565b600182600381111561147857fe5b14156114a557507f63726f7373446f6d61696e457363726f774761734c696d697400000000000000611336565b60028260038111156114b357fe5b14156114e057507f63726f7373446f6d61696e5265776172644761734c696d697400000000000000611336565b60038260038111156114ee57fe5b141561151b57507f63726f7373446f6d61696e5769746864726177616c4761734c696d6974000000611336565b60405162461bcd60e51b81526004016103ea90611fda565b80356113db816120df565b80516113db816120df565b600082601f83011261155a57600080fd5b813561156d61156882612031565b61200a565b81815260209384019390925082018360005b838110156115ab57813586016115958882611627565b845250602092830192919091019060010161157f565b5050505092915050565b600082601f8301126115c657600080fd5b81516115d461156882612031565b915081818352602084019350602081019050838560408402820111156115f957600080fd5b60005b838110156115ab578161160f88826116a2565b845250602090920191604091909101906001016115fc565b600082601f83011261163857600080fd5b813561164661156882612031565b9150818183526020840193506020810190508385602084028201111561166b57600080fd5b60005b838110156115ab578161168188826116e9565b845250602092830192919091019060010161166e565b80516113db816120f3565b6000604082840312156116b457600080fd5b6116be604061200a565b905060006116cc84846116ff565b82525060206116dd848483016116f4565b60208301525092915050565b80356113db816120fc565b80516113db816120fc565b80516113db81612105565b60006020828403121561171c57600080fd5b60006117288484611533565b949350505050565b60006020828403121561174257600080fd5b6000611728848461153e565b6000806040838503121561176157600080fd5b600061176d8585611533565b925050602061177e858286016116e9565b9150509250929050565b60006020828403121561179a57600080fd5b813567ffffffffffffffff8111156117b157600080fd5b61172884828501611549565b6000602082840312156117cf57600080fd5b60006117288484611697565b6000602082840312156117ed57600080fd5b600061172884846116e9565b60006020828403121561180b57600080fd5b600061172884846116f4565b6000806040838503121561182a57600080fd5b600061183685856116e9565b925050602083013567ffffffffffffffff81111561185357600080fd5b61177e85828601611549565b6000806040838503121561187257600080fd5b600061187e85856116f4565b925050602083015167ffffffffffffffff81111561189b57600080fd5b61177e858286016115b5565b60006118b383836119e5565b505060200190565b60006118c78383611d3b565b505060400190565b6118d881612097565b82525050565b6118d881612065565b60006118f282612058565b6118fc818561205c565b935061190783612052565b8060005b8381101561193557815161191f88826118a7565b975061192a83612052565b92505060010161190b565b509495945050505050565b600061194b82612058565b611955818561205c565b935061196083612052565b8060005b8381101561193557815161197888826118bb565b975061198383612052565b925050600101611964565b600061199982612058565b6119a3818561205c565b93506119ae83612052565b8060005b838110156119355781516119c688826118a7565b97506119d183612052565b9250506001016119b2565b6118d881612070565b6118d8816103a7565b6118d86119fa826103a7565b6103a7565b6000611a0a82612058565b611a14818561205c565b9350611a248185602086016120a9565b611a2d816120d5565b9093019392505050565b6118d88161209e565b6000611a4d60358361205c565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611aa4601d8361205c565b7f4f6e6c7920746865204c32206272696467652063616e20696e766f6b65000000815260200192915050565b6000611add60218361205c565b7f45786365656473206d617820656e747269657320706572206d6967726174696f8152603760f91b602082015260400192915050565b6000611b2060148361205c565b73119d5b98dd1a5bdb8819195858dd1a5d985d195960621b815260200192915050565b6000611b50601183611336565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611b7d60238361205c565b7f43616e6e6f74206465706f736974206f72206d6967726174652077697468206481526219589d60ea1b602082015260400192915050565b6000611bc2602f8361205c565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631c1554d160e21b9052565b6000611c1f601e8361205c565b7f4f6e6c79207468652072656c617965722063616e2063616c6c20746869730000815260200192915050565b6000611c58601983611336565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611c91602a8361205c565b7f43616c6c6572206973206e6f742052657761726473446973747269627574696f8152691b8818dbdb9d1c9858dd60b21b602082015260400192915050565b6000611cdd601b8361205c565b7f43616e6e6f74206d69677261746520746f206164647265737320300000000000815260200192915050565b6000611d1660168361205c565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b80516040830190611d4c8482611d6e565b506020820151611d5f60208501826119e5565b50505050565b6118d881612081565b6118d88161208a565b6000611d8282611b43565b9150611d8e82846119ee565b50602001919050565b6000611d8282611c4b565b602081016113db82846118de565b60608101611dbe82866118cf565b611dcb60208301856118de565b61172860408301846119e5565b60408101611de682856118cf565b8181036020830152611728818461198e565b60408101611e0682846118cf565b6113db60208301611c06565b60408101611e2082856118de565b611e2d60208301846119e5565b9392505050565b60608101611e4282866118de565b611e4f60208301856119e5565b8181036040830152611e618184611940565b95945050505050565b60408101611e7882856118de565b611e2d60208301846118de565b60608101611dbe82866118de565b60608101611ea182866118de565b8181036020830152611eb381856119ff565b90506117286040830184611d65565b60208082528101611e2d81846118e7565b602081016113db82846119dc565b602081016113db82846119e5565b60408101611e7882856119e5565b60408101611e2082856119e5565b60408101611f1982856119e5565b818103602083015261172881846119ff565b602081016113db8284611a37565b60208082528101611e2d81846119ff565b602080825281016113db81611a40565b602080825281016113db81611a97565b602080825281016113db81611ad0565b602080825281016113db81611b13565b602080825281016113db81611b70565b602080825281016113db81611bb5565b602080825281016113db81611c12565b602080825281016113db81611c84565b602080825281016113db81611cd0565b602080825281016113db81611d09565b60408101611ff882856119e5565b81810360208301526117288184611940565b60405181810167ffffffffffffffff8111828210171561202957600080fd5b604052919050565b600067ffffffffffffffff82111561204857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006113db82612075565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b60006113db825b60006113db82612065565b60005b838110156120c45781810151838201526020016120ac565b83811115611d5f5750506000910152565b601f01601f191690565b6120e881612065565b81146103fc57600080fd5b6120e881612070565b6120e8816103a7565b6120e88161208a56fea365627a7a723158200525d3b32f541735c4b9da84f33b9e4da2f4110bc493f817fb9a6c7a1a555fe36c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "oldBridge",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBridge",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "BridgeMigrated",
					"type": "event",
					"signature": "0xa1bbeeb6860c5db529c582b6bdbc57a2e9862ef771e5bed3a082f7d9da54904a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Deposit",
					"type": "event",
					"signature": "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowedAccountBalance",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"indexed": false,
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "vestingEntries",
							"type": "tuple[]"
						}
					],
					"name": "ExportedVestingEntries",
					"type": "event",
					"signature": "0x4dc5956ab6218a4dfa2cc5e5c50d98d039dde03aabfc504c54b601b6f5622696"
				},
				{
					"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": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardDeposit",
					"type": "event",
					"signature": "0x95bf5847357310d24f8d03d8bad76c8ee329dfd3a3cb200df21c7bd1619e93bd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "WithdrawalCompleted",
					"type": "event",
					"signature": "0x1a39b9c5044b9f0ff56c5951e30c1ebe24911353aafcceb9250e83a24fe158c4"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "activated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x186601ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "completeWithdrawal",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe2ff2d43"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "depositAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256[][]",
							"name": "entryIDs",
							"type": "uint256[][]"
						}
					],
					"name": "depositAndMigrateEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa18e2307"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "depositAmount",
							"type": "uint256"
						}
					],
					"name": "initiateDeposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcb827474"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[][]",
							"name": "entryIDs",
							"type": "uint256[][]"
						}
					],
					"name": "initiateEscrowMigration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6bfd7835"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "initiateRewardDeposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xccce9506"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "newBridge",
							"type": "address"
						}
					],
					"name": "migrateBridge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd7f5b359"
				},
				{
					"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": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3c6b16ab"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				}
			],
			"source": {
				"keccak256": "0xe256bd2628a05bfac26adc4802e06786281906cc33e34bddf1270ff28f3f61a6",
				"urls": [
					"bzz-raw://ce0d3575f5f66b61738f3a68fe6fb17666bbb7d544a3d835b8789d879641bf85",
					"dweb:/ipfs/QmQq44eCJB2ghgw7xaZuDbMamnbcTKaVZdaXhWUCQR2o2o"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceBridgeToOptimism.sol": "PeriFinanceBridgeToOptimism"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceBridgeToOptimism.sol": {
						"keccak256": "0xe256bd2628a05bfac26adc4802e06786281906cc33e34bddf1270ff28f3f61a6",
						"urls": [
							"bzz-raw://ce0d3575f5f66b61738f3a68fe6fb17666bbb7d544a3d835b8789d879641bf85",
							"dweb:/ipfs/QmQq44eCJB2ghgw7xaZuDbMamnbcTKaVZdaXhWUCQR2o2o"
						]
					}
				},
				"version": 1
			}
		},
		"PynthUtil": {
			"bytecode": "608060405234801561001057600080fd5b5060405161136b38038061136b8339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055611306806100656000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80632ebf118b14610067578063597ece84146100bf578063b2637a91146101c3578063ca2577e1146101cb578063d18ab37614610209578063d55415231461022d575b600080fd5b61006f6102ce565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100ab578181015183820152602001610093565b505050509050019250505060405180910390f35b6100e5600480360360208110156100d557600080fd5b50356001600160a01b0316610578565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561012d578181015183820152602001610115565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561016c578181015183820152602001610154565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101ab578181015183820152602001610193565b50505050905001965050505050505060405180910390f35b6100e561090f565b6101f7600480360360408110156101e157600080fd5b506001600160a01b038135169060200135610c88565b60408051918252519081900360200190f35b610211610f07565b604080516001600160a01b039092168252519081900360200190f35b610235610f16565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610279578181015183820152602001610261565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156102b85781810151838201526020016102a0565b5050505090500194505050505060405180910390f35b606060006102da611182565b905060006102e6611241565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561032357600080fd5b505afa158015610337573d6000803e3d6000fd5b505050506040513d602081101561034d57600080fd5b505160408051828152602080840282010190915290915060609082801561037e578160200160208202803883390190505b50905060005b8281101561056f576000856001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103d257600080fd5b505afa1580156103e6573d6000803e3d6000fd5b505050506040513d60208110156103fc57600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038088169263af3aea86929185169163dbd06c85916004808301926020929190829003018186803b15801561044c57600080fd5b505afa158015610460573d6000803e3d6000fd5b505050506040513d602081101561047657600080fd5b5051604080516001600160e01b031960e085901b1681526004810192909252516024808301926020929190829003018186803b1580156104b557600080fd5b505afa1580156104c9573d6000803e3d6000fd5b505050506040513d60208110156104df57600080fd5b50511561056657806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561051f57600080fd5b505afa158015610533573d6000803e3d6000fd5b505050506040513d602081101561054957600080fd5b5051835184908490811061055957fe5b6020026020010181815250505b50600101610384565b50935050505090565b60608060606000610587611182565b90506000610593611241565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d057600080fd5b505afa1580156105e4573d6000803e3d6000fd5b505050506040513d60208110156105fa57600080fd5b505160408051828152602080840282010190915290915060609082801561062b578160200160208202803883390190505b50905060608260405190808252806020026020018201604052801561065a578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610689578160200160208202803883390190505b50905060005b848110156108fe576000876001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156106dd57600080fd5b505afa1580156106f1573d6000803e3d6000fd5b505050506040513d602081101561070757600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b15801561074d57600080fd5b505afa158015610761573d6000803e3d6000fd5b505050506040513d602081101561077757600080fd5b5051855186908490811061078757fe5b602002602001018181525050806001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156107e957600080fd5b505afa1580156107fd573d6000803e3d6000fd5b505050506040513d602081101561081357600080fd5b5051845185908490811061082357fe5b602002602001018181525050866001600160a01b031663654a60ac86848151811061084a57fe5b602002602001015186858151811061085e57fe5b6020026020010151631c1554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156108b057600080fd5b505afa1580156108c4573d6000803e3d6000fd5b505050506040513d60208110156108da57600080fd5b505183518490849081106108ea57fe5b60209081029190910101525060010161068f565b509199909850909650945050505050565b6060806060600061091e611182565b9050600061092a611241565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561096757600080fd5b505afa15801561097b573d6000803e3d6000fd5b505050506040513d602081101561099157600080fd5b50516040805182815260208084028201019091529091506060908280156109c2578160200160208202803883390190505b5090506060826040519080825280602002602001820160405280156109f1578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610a20578160200160208202803883390190505b50905060005b84811015610c78576000876001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a7457600080fd5b505afa158015610a88573d6000803e3d6000fd5b505050506040513d6020811015610a9e57600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b158015610ae457600080fd5b505afa158015610af8573d6000803e3d6000fd5b505050506040513d6020811015610b0e57600080fd5b50518551869084908110610b1e57fe5b602002602001018181525050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6357600080fd5b505afa158015610b77573d6000803e3d6000fd5b505050506040513d6020811015610b8d57600080fd5b50518451859084908110610b9d57fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610bc457fe5b6020026020010151868581518110610bd857fe5b6020026020010151631c1554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015610c2a57600080fd5b505afa158015610c3e573d6000803e3d6000fd5b505050506040513d6020811015610c5457600080fd5b50518351849084908110610c6457fe5b602090810291909101015250600101610a26565b5091975095509350505050909192565b600080610c93611182565b90506000610c9f611241565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cdc57600080fd5b505afa158015610cf0573d6000803e3d6000fd5b505050506040513d6020811015610d0657600080fd5b5051905060005b81811015610efd576000846001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d5b57600080fd5b505afa158015610d6f573d6000803e3d6000fd5b505050506040513d6020811015610d8557600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038087169263654a60ac929185169163dbd06c85916004808301926020929190829003018186803b158015610dd557600080fd5b505afa158015610de9573d6000803e3d6000fd5b505050506040513d6020811015610dff57600080fd5b5051604080516370a0823160e01b81526001600160a01b038d811660048301529151918616916370a0823191602480820192602092909190829003018186803b158015610e4b57600080fd5b505afa158015610e5f573d6000803e3d6000fd5b505050506040513d6020811015610e7557600080fd5b5051604080516001600160e01b031960e086901b16815260048101939093526024830191909152604482018b9052516064808301926020929190829003018186803b158015610ec357600080fd5b505afa158015610ed7573d6000803e3d6000fd5b505050506040513d6020811015610eed57600080fd5b5051959095019450600101610d0d565b5050505092915050565b6000546001600160a01b031681565b6060806060610f23611182565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015610f5b57600080fd5b505afa158015610f6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f9857600080fd5b8101908080516040519392919084640100000000821115610fb857600080fd5b908301906020820185811115610fcd57600080fd5b8251866020820283011164010000000082111715610fea57600080fd5b82525081516020918201928201910280838360005b83811015611017578181015183820152602001610fff565b5050505090500160405250505090508061102f611241565b6001600160a01b031663c2c8a676836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561108d578181015183820152602001611075565b505050509050019250505060006040518083038186803b1580156110b057600080fd5b505afa1580156110c4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156110ed57600080fd5b810190808051604051939291908464010000000082111561110d57600080fd5b90830190602082018581111561112257600080fd5b825186602082028301116401000000008211171561113f57600080fd5b82525081516020918201928201910280838360005b8381101561116c578181015183820152602001611154565b5050505090500160405250505092509250509091565b600080546040805163dacb2d0160e01b81526a5065726946696e616e636560a81b600482015260248101829052601b60448201527f4d697373696e67205065726946696e616e636520616464726573730000000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561121057600080fd5b505afa158015611224573d6000803e3d6000fd5b505050506040513d602081101561123a57600080fd5b5051905090565b600080546040805163dacb2d0160e01b81526c45786368616e6765526174657360981b600482015260248101829052601d60448201527f4d697373696e672045786368616e676552617465732061646472657373000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561121057600080fdfea265627a7a723158203bfc7c66961dfe91c34ac975c70a4787581ab4209f11567a36b55441560ef1e464736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "addressResolverProxy",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd18ab376"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "frozenPynths",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2ebf118b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "pynthsBalances",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x597ece84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pynthsRates",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd5541523"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pynthsTotalSupplies",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb2637a91"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalPynthsInKey",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xca2577e1"
				}
			],
			"source": {
				"keccak256": "0x3b364926bf18c1e2bccaa08730fe7497591441a2ed30722a73cdaafe1ba9b438",
				"urls": [
					"bzz-raw://09a51c0d0986877c9903226060183d302deab0564e9a534944783a7c8f5e27ec",
					"dweb:/ipfs/Qmbh7v99xej3y2yMZ7trWNRuReBkYNREMmPk7kXsQmfKVS"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PynthUtil.sol": "PynthUtil"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PynthUtil.sol": {
						"keccak256": "0x3b364926bf18c1e2bccaa08730fe7497591441a2ed30722a73cdaafe1ba9b438",
						"urls": [
							"bzz-raw://09a51c0d0986877c9903226060183d302deab0564e9a534944783a7c8f5e27ec",
							"dweb:/ipfs/Qmbh7v99xej3y2yMZ7trWNRuReBkYNREMmPk7kXsQmfKVS"
						]
					}
				},
				"version": 1
			}
		},
		"DappMaintenance": {
			"bytecode": "60806040526001805461ffff60a01b1916905534801561001e57600080fd5b506040516106d13803806106d18339818101604052602081101561004157600080fd5b5051806001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a1506001600160a01b038116610141576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a15061051a806101976000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b1461010b57806393c2212514610113578063b33a5a001461012f578063c65a0ea21461014e578063ee02f27c1461015657610093565b80631627540c146100985780631d008652146100c057806353a47bb7146100df57806379ba509714610103575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610175565b005b6100be600480360360208110156100d657600080fd5b503515156101d1565b6100e7610270565b604080516001600160a01b039092168252519081900360200190f35b6100be61027f565b6100e761033b565b61011b61034a565b604080519115158252519081900360200190f35b6100be6004803603602081101561014557600080fd5b5035151561035a565b61011b6103c0565b6100be6004803603602081101561016c57600080fd5b503515156103d0565b61017d610436565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6101d9610436565b6001805460ff60a01b1916600160a01b8315159081029190911760ff60a81b1916600160a81b82021790915560408051918252517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32916020908290030190a160408051821515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b031633146102c85760405162461bcd60e51b81526004018080602001828103825260358152602001806104826035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600154600160a81b900460ff1681565b610362610436565b60018054821515600160a01b90810260ff60a01b199092169190911791829055604080519190920460ff161515815290517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea329181900360200190a150565b600154600160a01b900460ff1681565b6103d8610436565b60018054821515600160a81b90810260ff60a81b199092169190911791829055604080519190920460ff161515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6000546001600160a01b0316331461047f5760405162461bcd60e51b815260040180806020018281038252602f8152602001806104b7602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820097f698fd64c79ab6c2c4a2857b00fb253df8bc00e2c989b5826311be9e7c8e564736f6c63430005100032b532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c",
			"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": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "SXMaintenance",
					"type": "event",
					"signature": "0x5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "StakingMaintenance",
					"type": "event",
					"signature": "0x628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedSX",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x93c22125"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedStaking",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc65a0ea2"
				},
				{
					"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": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1d008652"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeSX",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee02f27c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeStaking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb33a5a00"
				}
			],
			"source": {
				"keccak256": "0xd0229588eaf22545c09416f1f68c0dd8a59b7499dd9622935f0dac983f6c62b2",
				"urls": [
					"bzz-raw://f1600c66b66ce4efe7e828d869ea7def066f0b98efdba4a5e0d0396aaf84b446",
					"dweb:/ipfs/QmeoLaH74FC9iMkYPS4kumT2TcjSVpvc7fnZCx5XzZFERT"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DappMaintenance.sol": "DappMaintenance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DappMaintenance.sol": {
						"keccak256": "0xd0229588eaf22545c09416f1f68c0dd8a59b7499dd9622935f0dac983f6c62b2",
						"urls": [
							"bzz-raw://f1600c66b66ce4efe7e828d869ea7def066f0b98efdba4a5e0d0396aaf84b446",
							"dweb:/ipfs/QmeoLaH74FC9iMkYPS4kumT2TcjSVpvc7fnZCx5XzZFERT"
						]
					}
				},
				"version": 1
			}
		},
		"BinaryOptionMarketData": {
			"bytecode": "608060405234801561001057600080fd5b506112f7806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631216fc7b14610046578063a30c302d1461006f578063dca5f5c31461008f575b600080fd5b610059610054366004610e75565b6100af565b60405161006691906111f1565b60405180910390f35b61008261007d366004610e75565b61047c565b60405161006691906111e2565b6100a261009d366004610e93565b610a61565b60405161006691906111d4565b6100b7610c44565b600080836001600160a01b0316631069143a6040518163ffffffff1660e01b8152600401604080518083038186803b1580156100f257600080fd5b505afa158015610106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061012a9190810190610ecd565b915091506000806000866001600160a01b0316639e3b34bf6040518163ffffffff1660e01b815260040160606040518083038186803b15801561016c57600080fd5b505afa158015610180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101a49190810190610e28565b9250925092506000806000896001600160a01b03166398508ecd6040518163ffffffff1660e01b815260040160606040518083038186803b1580156101e857600080fd5b505afa1580156101fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102209190810190610e28565b92509250925060008060008c6001600160a01b0316639af1d35a6040518163ffffffff1660e01b815260040160606040518083038186803b15801561026457600080fd5b505afa158015610278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061029c9190810190610e28565b9250925092506102aa610c44565b6040518060c001604052808f6001600160a01b03166302d05d3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156102ee57600080fd5b505afa158015610302573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103269190810190610de4565b6001600160a01b0316815260200160405180604001604052808f6001600160a01b031681526020018e6001600160a01b0316815250815260200160405180606001604052808d81526020018c81526020018b815250815260200160405180606001604052808a81526020018981526020018881525081526020016040518060600160405280878152602001868152602001858152508152602001604051806040016040528060008152602001600081525081525090506000808f6001600160a01b031663be5af9fe6040518163ffffffff1660e01b8152600401604080518083038186803b15801561041757600080fd5b505afa15801561042b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061044f9190810190610f57565b60408051808201909152918252602082015260a084015250909c505050505050505050505050505b919050565b610484610ca0565b600080836001600160a01b031663c7a5bdc86040518163ffffffff1660e01b8152600401604080518083038186803b1580156104bf57600080fd5b505afa1580156104d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104f79190810190610f57565b91509150600080856001600160a01b0316633d7a783b6040518163ffffffff1660e01b8152600401604080518083038186803b15801561053657600080fd5b505afa15801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061056e9190810190610f57565b91509150600080876001600160a01b031663d068cdc56040518163ffffffff1660e01b8152600401604080518083038186803b1580156105ad57600080fd5b505afa1580156105c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105e59190810190610f57565b91509150600080896001600160a01b0316638b0341366040518163ffffffff1660e01b8152600401604080518083038186803b15801561062457600080fd5b505afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061065c9190810190610f57565b915091506000808b6001600160a01b031663d3419bf36040518163ffffffff1660e01b8152600401604080518083038186803b15801561069b57600080fd5b505afa1580156106af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106d39190810190610f57565b9150915060405180610120016040528060405180604001604052808d81526020018c8152508152602001604051806040016040528085815260200184815250815260200160405180604001604052808f6001600160a01b031663eef49ee36040518163ffffffff1660e01b815260040160206040518083038186803b15801561075b57600080fd5b505afa15801561076f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107939190810190610f39565b81526020018f6001600160a01b0316632115e3036040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d157600080fd5b505afa1580156107e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108099190810190610f39565b815250815260200160405180604001604052808f6001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b15801561085557600080fd5b505afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061088d9190810190610e0a565b151581526020018f6001600160a01b031663ac3791e36040518163ffffffff1660e01b815260040160206040518083038186803b1580156108cd57600080fd5b505afa1580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109059190810190610e0a565b151581525081526020018d6001600160a01b031663b1c9fe6e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561094857600080fd5b505afa15801561095c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109809190810190610efd565b600381111561098b57fe5b81526020018d6001600160a01b031663653721476040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c957600080fd5b505afa1580156109dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a019190810190610f1b565b6001811115610a0c57fe5b81526040805180820182529687526020878101969096528582019690965285518087018752998a5289850198909852848801989098525050815180830190925292815291820152606090910152949350505050565b610a69610d03565b600080846001600160a01b03166329e77b5d856040518263ffffffff1660e01b8152600401610a9891906111c6565b604080518083038186803b158015610aaf57600080fd5b505afa158015610ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae79190810190610f57565b91509150600080866001600160a01b031663408e82af876040518263ffffffff1660e01b8152600401610b1a91906111c6565b604080518083038186803b158015610b3157600080fd5b505afa158015610b45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b699190810190610f57565b91509150600080886001600160a01b0316636392a51f896040518263ffffffff1660e01b8152600401610b9c91906111c6565b604080518083038186803b158015610bb357600080fd5b505afa158015610bc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610beb9190810190610f57565b6040805160a08101825260608101998a5260808101989098529787528751808901895295865260208681019590955284870195909552865180880188529081529283019390935250928201929092529150505b92915050565b6040518060c0016040528060006001600160a01b03168152602001610c67610d16565b8152602001610c74610d2d565b8152602001610c81610d4e565b8152602001610c8e610d2d565b8152602001610c9b610d72565b905290565b604051806101200160405280610cb4610d72565b8152602001610cc1610d72565b8152602001610cce610d72565b8152602001610cdb610d16565b81526020016000815260200160008152602001610cf6610d72565b8152602001610c8e610d72565b6040518060600160405280610cf6610d72565b604080518082019091526000808252602082015290565b60405180606001604052806000815260200160008152602001600081525090565b60405180606001604052806000801916815260200160008152602001600081525090565b604051806040016040528060008152602001600081525090565b8035610c3e8161126b565b8051610c3e8161126b565b8051610c3e8161127f565b8051610c3e81611288565b8035610c3e81611291565b8051610c3e81611291565b8051610c3e8161129a565b8051610c3e816112a7565b600060208284031215610df657600080fd5b6000610e028484610d97565b949350505050565b600060208284031215610e1c57600080fd5b6000610e028484610da2565b600080600060608486031215610e3d57600080fd5b6000610e498686610dad565b9350506020610e5a86828701610dad565b9250506040610e6b86828701610dad565b9150509250925092565b600060208284031215610e8757600080fd5b6000610e028484610db8565b60008060408385031215610ea657600080fd5b6000610eb28585610db8565b9250506020610ec385828601610d8c565b9150509250929050565b60008060408385031215610ee057600080fd5b6000610eec8585610dc3565b9250506020610ec385828601610dc3565b600060208284031215610f0f57600080fd5b6000610e028484610dce565b600060208284031215610f2d57600080fd5b6000610e028484610dd9565b600060208284031215610f4b57600080fd5b6000610e028484610dad565b60008060408385031215610f6a57600080fd5b6000610f768585610dad565b9250506020610ec385828601610dad565b610f9081611200565b82525050565b610f908161120b565b610f9081611210565b610f9081611213565b610f908161123e565b610f9081611249565b805160c0830190610fd48482611000565b506020820151610fe76040850182611000565b506040820151610ffa6080850182611000565b50505050565b805160408301906110118482610f9f565b506020820151610ffa6020850182610f9f565b805160608301906110358482610f9f565b5060208201516110486020850182610f9f565b506040820151610ffa6040850182610f9f565b805161020083019061106d8482611000565b5060208201516110806040850182611000565b5060408201516110936080850182611000565b5060608201516110a660c08501826111a2565b5060808201516110ba610100850182610fb1565b5060a08201516110ce610120850182610fba565b5060c08201516110e2610140850182611000565b5060e08201516110f6610180850182611000565b50610100820151610ffa6101c0850182611000565b80516101c083019061111d8482610f87565b506020820151611130602085018261117e565b5060408201516111436060850182611024565b50606082015161115660c0850182611024565b50608082015161116a610120850182611024565b5060a0820151610ffa610180850182611000565b8051604083019061118f8482610fa8565b506020820151610ffa6020850182610fa8565b805160408301906111b38482610f96565b506020820151610ffa6020850182610f96565b60208101610c3e8284610f87565b60c08101610c3e8284610fc3565b6102008101610c3e828461105b565b6101c08101610c3e828461110b565b6000610c3e82611232565b151590565b90565b6000610c3e82611200565b8061047781611254565b8061047781611261565b6001600160a01b031690565b6000610c3e8261121e565b6000610c3e82611228565b6004811061125e57fe5b50565b6002811061125e57fe5b61127481611200565b811461125e57600080fd5b6112748161120b565b61127481611210565b61127481611213565b6004811061125e57600080fd5b6002811061125e57600080fdfea365627a7a72315820eb9db992808849125559772da306893420e9bd2136c7cc5ad42b85634dbf41026c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract BinaryOptionMarket",
							"name": "market",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getAccountMarketData",
					"outputs": [
						{
							"components": [
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "bids",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "claimable",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "balances",
									"type": "tuple"
								}
							],
							"internalType": "struct BinaryOptionMarketData.AccountData",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdca5f5c3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract BinaryOptionMarket",
							"name": "market",
							"type": "address"
						}
					],
					"name": "getMarketData",
					"outputs": [
						{
							"components": [
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "price",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "updatedAt",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OraclePriceAndTimestamp",
									"name": "oraclePriceAndTimestamp",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarket.Prices",
									"name": "prices",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "deposited",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "exercisableDeposits",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.Deposits",
									"name": "deposits",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "bool",
											"name": "resolved",
											"type": "bool"
										},
										{
											"internalType": "bool",
											"name": "canResolve",
											"type": "bool"
										}
									],
									"internalType": "struct BinaryOptionMarketData.Resolution",
									"name": "resolution",
									"type": "tuple"
								},
								{
									"internalType": "enum IBinaryOptionMarket.Phase",
									"name": "phase",
									"type": "uint8"
								},
								{
									"internalType": "enum IBinaryOptionMarket.Side",
									"name": "result",
									"type": "uint8"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "totalBids",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "totalClaimableSupplies",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "totalSupplies",
									"type": "tuple"
								}
							],
							"internalType": "struct BinaryOptionMarketData.MarketData",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa30c302d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract BinaryOptionMarket",
							"name": "market",
							"type": "address"
						}
					],
					"name": "getMarketParameters",
					"outputs": [
						{
							"components": [
								{
									"internalType": "address",
									"name": "creator",
									"type": "address"
								},
								{
									"components": [
										{
											"internalType": "contract BinaryOption",
											"name": "long",
											"type": "address"
										},
										{
											"internalType": "contract BinaryOption",
											"name": "short",
											"type": "address"
										}
									],
									"internalType": "struct BinaryOptionMarket.Options",
									"name": "options",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "biddingEnd",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "maturity",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "expiry",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarket.Times",
									"name": "times",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "bytes32",
											"name": "key",
											"type": "bytes32"
										},
										{
											"internalType": "uint256",
											"name": "strikePrice",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "finalPrice",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarket.OracleDetails",
									"name": "oracleDetails",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "poolFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "creatorFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "refundFee",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketManager.Fees",
									"name": "fees",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "capitalRequirement",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "skewLimit",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketManager.CreatorLimits",
									"name": "creatorLimits",
									"type": "tuple"
								}
							],
							"internalType": "struct BinaryOptionMarketData.MarketParameters",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1216fc7b"
				}
			],
			"source": {
				"keccak256": "0x968ba351a2f3ef9436c23b3fd9823f537b14e50770426434024a56fc5ccf3526",
				"urls": [
					"bzz-raw://966b6528f71f4b61fd4cd8d71e6b26720404a92192504faf227d4fedddd1b9b7",
					"dweb:/ipfs/QmbppNA4RkVjRMga2c82rkyFV2Z5F5R3cy8ZEfyVyd689w"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"BinaryOptionMarketData.sol": "BinaryOptionMarketData"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"BinaryOptionMarketData.sol": {
						"keccak256": "0x968ba351a2f3ef9436c23b3fd9823f537b14e50770426434024a56fc5ccf3526",
						"urls": [
							"bzz-raw://966b6528f71f4b61fd4cd8d71e6b26720404a92192504faf227d4fedddd1b9b7",
							"dweb:/ipfs/QmbppNA4RkVjRMga2c82rkyFV2Z5F5R3cy8ZEfyVyd689w"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralManagerState": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620011b2380380620011b2833981016040819052620000349162000190565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f906200029d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000265565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f906200028b565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906200013690839062000255565b60405180910390a150506004805460018101825560009182527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01555042600555620002f8565b80516200018a81620002de565b92915050565b60008060408385031215620001a457600080fd5b6000620001b285856200017d565b9250506020620001c5858286016200017d565b9150509250929050565b620001da81620002ca565b82525050565b620001da81620002b8565b6000620001fa601183620002af565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000229601983620002af565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200018a8284620001e0565b60408101620002758285620001cf565b620002846020830184620001e0565b9392505050565b602080825281016200018a81620001eb565b602080825281016200018a816200021a565b90815260200190565b60006001600160a01b0382166200018a565b60006200018a8260006200018a82620002b8565b620002e981620002b8565b8114620002f557600080fd5b50565b610eaa80620003086000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638da5cb5b11610104578063d2f00475116100a2578063e50a31b311610071578063e50a31b31461038f578063eb94bbde146103a2578063ed039154146103b5578063f53037b6146103c8576101cf565b8063d2f0047514610335578063d3a7120214610348578063e31f27c114610369578063e32261fe1461037c576101cf565b8063aefc4ccb116100de578063aefc4ccb146102ff578063af07aa9d14610307578063b52e0dc81461031a578063cc952b571461032d576101cf565b80638da5cb5b146102d1578063a0356f6e146102d9578063a29fe7b8146102ec576101cf565b806352f445ca116101715780636431e0bd1161014b5780636431e0bd146102a6578063781dc0e2146102b957806379ba5097146102c15780638c582503146102c9576101cf565b806352f445ca1461026b57806353a47bb71461027e5780635537479914610293576101cf565b806322e07b7a116101ad57806322e07b7a14610235578063246206391461023d578063381c5cb5146102505780635246f2b914610258576101cf565b806303f048b0146101d45780631627540c14610200578063173fcb4114610215575b600080fd5b6101e76101e2366004610b70565b6103db565b6040516101f79493929190610df2565b60405180910390f35b61021361020e366004610b4a565b610415565b005b610228610223366004610b8e565b610473565b6040516101f79190610dc9565b6102286104a1565b61021361024b366004610b8e565b6104a7565b61022861050d565b610213610266366004610b8e565b610514565b610213610279366004610b4a565b610579565b6102866105cc565b6040516101f79190610d50565b6102286102a1366004610b70565b6105db565b6102136102b4366004610b70565b6105ed565b610228610631565b610213610637565b6102286106d3565b61028661071e565b6102286102e7366004610b70565b61072d565b6102286102fa366004610b70565b61073f565b61028661075d565b6101e7610315366004610b8e565b61076c565b610228610328366004610b70565b6107ac565b6102286107cd565b610228610343366004610b70565b6107d3565b61035b610356366004610b70565b610813565b6040516101f7929190610dd7565b610213610377366004610b8e565b61082c565b61022861038a366004610b70565b610878565b61021361039d366004610b8e565b6108bb565b6102136103b0366004610b8e565b61091a565b6102136103c3366004610b70565b610963565b6102136103d6366004610b70565b6109d6565b6000806000806103e961050d565b90506103f4856107ac565b9350610402600182036107ac565b925061040c610631565b91509193509193565b61041d610a39565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610468908390610d50565b60405180910390a150565b6006602052816000526040600020818154811061048c57fe5b90600052602060002001600091509150505481565b60055481565b6002546001600160a01b031633146104da5760405162461bcd60e51b81526004016104d190610db9565b60405180910390fd5b60008281526006602090815260408083208054600181018255908452828420019390935592815260079092529020429055565b6004545b90565b6002546001600160a01b0316331461053e5760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a6516565b6000928352600860205260409092206001019190915550565b610581610a39565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610468908390610d50565b6001546001600160a01b031681565b60076020526000908152604090205481565b6002546001600160a01b031633146106175760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040812061062e91610afd565b50565b60055490565b6001546001600160a01b031633146106615760405162461bcd60e51b81526004016104d190610d79565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926106a4926001600160a01b0391821692911690610d5e565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546000906001600160a01b031633146107005760405162461bcd60e51b81526004016104d190610db9565b60035461071490600163ffffffff610a9216565b6003819055905090565b6000546001600160a01b031681565b60009081526006602052604090205490565b6004818154811061074c57fe5b600091825260209091200154905081565b6002546001600160a01b031681565b60008060008061077b8661072d565b90506107878686610abe565b93506107968660018303610abe565b92506107a186610aeb565b915092959194509250565b6000600482815481106107bb57fe5b90600052602060002001549050919050565b60035481565b6002546000906001600160a01b031633146108005760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090205490565b6008602052600090815260409020805460019091015482565b6002546001600160a01b031633146108565760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a9216565b6002546000906001600160a01b031633146108a55760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090206001015490565b6002546001600160a01b031633146108e55760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a6516565b6000928352600860205260409092209190915550565b6002546001600160a01b031633146109445760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a9216565b6002546001600160a01b0316331461098d5760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040902054156109a65761062e565b60008181526006602090815260408083208054600181018255908452828420018390559282526007905220429055565b6002546001600160a01b03163314610a005760405162461bcd60e51b81526004016104d190610db9565b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b015542600555565b6000546001600160a01b03163314610a635760405162461bcd60e51b81526004016104d190610da9565b565b600082821115610a875760405162461bcd60e51b81526004016104d190610d99565b508082035b92915050565b600082820183811015610ab75760405162461bcd60e51b81526004016104d190610d89565b9392505050565b6000828152600660205260408120805483908110610ad857fe5b9060005260206000200154905092915050565b60009081526007602052604090205490565b508054600082559060005260206000209081019061062e919061051191905b80821115610b305760008155600101610b1c565b5090565b8035610a8c81610e4a565b8035610a8c81610e5e565b600060208284031215610b5c57600080fd5b6000610b688484610b34565b949350505050565b600060208284031215610b8257600080fd5b6000610b688484610b3f565b60008060408385031215610ba157600080fd5b6000610bad8585610b3f565b9250506020610bbe85828601610b3f565b9150509250929050565b610bd181610e39565b82525050565b6000610be4603583610e30565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610c3b601b83610e30565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610c74601e83610e30565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610cad602f83610e30565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000610cfe603483610e30565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b610bd181610511565b60208101610a8c8284610bc8565b60408101610d6c8285610bc8565b610ab76020830184610bc8565b60208082528101610a8c81610bd7565b60208082528101610a8c81610c2e565b60208082528101610a8c81610c67565b60208082528101610a8c81610ca0565b60208082528101610a8c81610cf1565b60208101610a8c8284610d47565b60408101610de58285610d47565b610ab76020830184610d47565b60808101610e008287610d47565b610e0d6020830186610d47565b610e1a6040830185610d47565b610e276060830184610d47565b95945050505050565b90815260200190565b60006001600160a01b038216610a8c565b610e5381610e39565b811461062e57600080fd5b610e538161051156fea365627a7a72315820c4530702f0529956ec75ef7fba3f3eb307aa1b8030167142453bdcabfc919e176c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "addShortCurrency",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xed039154"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "borrowRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa29fe7b8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "borrowRatesLastUpdated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22e07b7a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe50a31b3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5246f2b9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getRateAt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb52e0dc8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x03f048b0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRatesLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x381c5cb5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getShortRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf07aa9d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "getShortRatesLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0356f6e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xeb94bbde"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe31f27c1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "incrementTotalLoans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8c582503"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "long",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd2f00475"
				},
				{
					"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": "ratesLastUpdated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x781dc0e2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "removeShortCurrency",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6431e0bd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "short",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32261fe"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "shortRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x173fcb41"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortRatesLastUpdated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55374799"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "long",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "short",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd3a71202"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLoans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcc952b57"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateBorrowRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf53037b6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateShortRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x24620639"
				}
			],
			"source": {
				"keccak256": "0xe4efb0a8882c2b34a76242fa66a744be8d65871f81285e4a34ea331c44857541",
				"urls": [
					"bzz-raw://482e548eceb4a80a1e2cfc18c7fbf13f09d1782b5f4a0a0d027c456fd5c6a0de",
					"dweb:/ipfs/QmaxTpGhanc4jbBbq2gmMTGLbz8SjXVbafcUCi5jtZmb5V"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralManagerState.sol": "CollateralManagerState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CollateralManagerState.sol": {
						"keccak256": "0xe4efb0a8882c2b34a76242fa66a744be8d65871f81285e4a34ea331c44857541",
						"urls": [
							"bzz-raw://482e548eceb4a80a1e2cfc18c7fbf13f09d1782b5f4a0a0d027c456fd5c6a0de",
							"dweb:/ipfs/QmaxTpGhanc4jbBbq2gmMTGLbz8SjXVbafcUCi5jtZmb5V"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralManager": {
			"bytecode": "670de0b6b3a7640000600e5560c06040526524b9b9bab2b960d11b60809081526c45786368616e6765526174657360981b60a052620000439060129060026200030a565b503480156200005157600080fd5b5060405162003c7938038062003c7983398101604081905262000074916200039a565b83856001600160a01b038116620000a85760405162461bcd60e51b81526004016200009f90620005a9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000f59184906200054d565b60405180910390a1506000546001600160a01b0316620001295760405162461bcd60e51b81526004016200009f9062000597565b60038054610100600160a81b0319166101006001600160a01b039384160217905560008054336001600160a01b031991821617909155600580549091169188169190911790556200017a83620001cf565b6200018e826001600160e01b036200024716565b620001a2816001600160e01b036200029116565b5050600080546001600160a01b0319166001600160a01b0394909416939093179092555062000637915050565b620001e26001600160e01b03620002db16565b60008111620002055760405162461bcd60e51b81526004016200009f9062000573565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906200023c908390620005bb565b60405180910390a150565b6200025a6001600160e01b03620002db16565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906200023c908390620005bb565b620002a46001600160e01b03620002db16565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906200023c908390620005bb565b6000546001600160a01b03163314620003085760405162461bcd60e51b81526004016200009f9062000585565b565b82601881019282156200033b579160200282015b828111156200033b5782518255916020019190600101906200031e565b50620003499291506200034d565b5090565b6200036a91905b8082111562000349576000815560010162000354565b90565b80516200037a8162000607565b92915050565b80516200037a8162000621565b80516200037a816200062c565b60008060008060008060c08789031215620003b457600080fd5b6000620003c2898962000380565b9650506020620003d589828a016200036d565b9550506040620003e889828a016200036d565b9450506060620003fb89828a016200038d565b93505060806200040e89828a016200038d565b92505060a06200042189828a016200038d565b9150509295509295509295565b6200043981620005fa565b82525050565b6200043981620005d4565b600062000459601683620005cb565b7f4d7573742062652067726561746572207468616e203000000000000000000000815260200192915050565b600062000494602f83620005cb565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000620004e7601183620005cb565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000516601983620005cb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b62000439816200036a565b604081016200055d82856200042e565b6200056c60208301846200043f565b9392505050565b602080825281016200037a816200044a565b602080825281016200037a8162000485565b602080825281016200037a81620004d8565b602080825281016200037a8162000507565b602081016200037a828462000542565b90815260200190565b60006200037a82620005ee565b60006200037a82620005d4565b6001600160a01b031690565b60006200037a82620005e1565b6200061281620005d4565b81146200061e57600080fd5b50565b6200061281620005e1565b62000612816200036a565b61363280620006476000396000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c80638da5cb5b11610182578063c9e18015116100e9578063e32261fe116100a2578063ee81f7901161007c578063ee81f790146105ec578063f53037b6146105ff578063fb5aa1e114610612578063ffa749cd14610625576102d6565b8063e32261fe146105b3578063e50a31b3146105c6578063eb94bbde146105d9576102d6565b8063c9e1801514610557578063cc7ae6631461055f578063cd28502014610572578063d0064c0014610585578063d2f004751461058d578063e31f27c1146105a0576102d6565b8063b3b467321161013b578063b3b4673214610503578063b4d6cb401461050b578063ba1c5e801461052c578063bbb601cd14610534578063bf38668214610547578063c19d93fb1461054f576102d6565b80638da5cb5b146104b257806391b4ded9146104ba5780639f7eac37146104c2578063ad79a858146104d5578063af07aa9d146104dd578063b38988f7146104f0576102d6565b80634db7764c116102415780636526941b116101fa578063744d646e116101d4578063744d646e1461046f57806379ba509714610482578063899ffef41461048a5780638b173e811461049f576102d6565b80636526941b146104415780637060f9e8146104545780637418536014610467576102d6565b80634db7764c146103e15780635246f2b9146103f657806353a47bb71461040957806355bd615c1461041e5780635c975abb14610431578063614d08f814610439576102d6565b806316c38b3c1161029357806316c38b3c146103775780631e33fc6b1461038a57806324620639146103a05780632af64bd3146103b35780632e5de389146103bb57806342e32f13146103ce576102d6565b806303f048b0146102db57806304f3bcec146103075780630692b1701461031c5780630c9c81a1146103315780630e54a19b146103445780631627540c14610364575b600080fd5b6102ee6102e9366004612e43565b610638565b6040516102fe94939291906134d3565b60405180910390f35b61030f6106cf565b6040516102fe9190613414565b61032f61032a366004612d5e565b6106e3565b005b61032f61033f366004612e43565b610867565b610357610352366004612dce565b6108af565b6040516102fe919061335e565b61032f610372366004612cab565b610960565b61032f610385366004612e07565b6109b3565b610392610a28565b6040516102fe9291906133a3565b61032f6103ae366004612e7f565b610d1b565b610357610dae565b61032f6103c9366004612dce565b610ecb565b6103576103dc366004612e43565b610f9a565b6103e9610fb1565b6040516102fe9190613387565b61032f610404366004612e7f565b610fb7565b610411611013565b6040516102fe9190613324565b61032f61042c366004612dce565b611022565b6103576110de565b6103e96110e7565b61032f61044f366004612e43565b6110ff565b6103e9610462366004612e43565b61115c565b61032f61116e565b61035761047d366004612d29565b6112c4565b61032f61130c565b6104926113a8565b6040516102fe919061334d565b61032f6104ad366004612e43565b611560565b61041161159d565b6103e96115ac565b61032f6104d0366004612e43565b6115b2565b6103926115df565b6102ee6104eb366004612e7f565b6117c0565b6103576104fe366004612cab565b61185b565b6103e9611874565b61051e610519366004612e7f565b61192d565b6040516102fe92919061336c565b610392611a20565b61032f610542366004612ce7565b611b43565b6103e9611c23565b61030f611c29565b6103e9611c38565b61032f61056d366004612ce7565b611c3e565b6103e9610580366004612e43565b611e0e565b6103e9611e20565b6103e961059b366004612e43565b611e26565b61032f6105ae366004612e7f565b611ea7565b6103e96105c1366004612e43565b611f03565b61032f6105d4366004612e7f565b611f34565b61032f6105e7366004612e7f565b611f90565b6103926105fa366004612e43565b611fec565b61032f61060d366004612e43565b612306565b610357610620366004612dce565b612396565b61032f610633366004612ce7565b6124e1565b600554604051623f048b60e41b81526000918291829182916001600160a01b03909116906303f048b090610670908890600401613387565b60806040518083038186803b15801561068857600080fd5b505afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106c09190810190612ee9565b92989197509550909350915050565b60035461010090046001600160a01b031681565b6106eb61259a565b8281146107135760405162461bcd60e51b815260040161070a90613433565b60405180910390fd5b60005b8381101561085857600085858381811061072c57fe5b90506040020160006002811061073e57fe5b60200201359050600086868481811061075357fe5b90506040020160016002811061076557fe5b6020020135905061077d600b8363ffffffff6125c616565b61084e57610792600b8363ffffffff61261616565b6000828152600d602052604090819020829055517f228eebae23ce843c98c840591345820f72bfe22ac0ba807deebe0ee7d467ebd3906107d3908490613387565b60405180910390a16005546001600160a01b031663ed0391548686868181106107f857fe5b905060200201356040518263ffffffff1660e01b815260040161081b9190613387565b600060405180830381600087803b15801561083557600080fd5b505af1158015610849573d6000803e3d6000fd5b505050505b5050600101610716565b5061086161116e565b50505050565b61086f61259a565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906108a4908390613387565b60405180910390a150565b60085460009084146108c357506000610958565b60005b84811015610952576108f48686838181106108dd57fe5b9050602002013560086125c690919063ffffffff16565b610902576000915050610958565b85858281811061090e57fe5b90506020020135600a600086868581811061092557fe5b905060200201358152602001908152602001600020541461094a576000915050610958565b6001016108c6565b50600190505b949350505050565b61096861259a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108a4908390613324565b6109bb61259a565b60035460ff16151581151514156109d157610a25565b6003805460ff1916821515179081905560ff16156109ee57426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916108a49160ff9091169061335e565b50565b60088054604080516020808402820181019092528281526000938493606093830182828015610a7657602002820191906000526020600020905b815481526020019060010190808311610a62575b50505050509050600081511115610d165760005b8151811015610d14576000610ab1838381518110610aa457fe5b602002602001015161264e565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae957600080fd5b505afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b219190810190612e61565b9050631c1554d160e21b811415610bc85760055460405163d2f0047560e01b8152610bc1916001600160a01b03169063d2f0047590610b64908590600401613387565b60206040518083038186803b158015610b7c57600080fd5b505afa158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bb49190810190612e61565b869063ffffffff61265916565b9450610d0b565b600080610bd3612685565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401610bfe9190613387565b604080518083038186803b158015610c1557600080fd5b505afa158015610c29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c4d9190810190612eb9565b60055460405163d2f0047560e01b8152929450909250600091610ce89185916001600160a01b039091169063d2f0047590610c8c908990600401613387565b60206040518083038186803b158015610ca457600080fd5b505afa158015610cb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cdc9190810190612e61565b9063ffffffff6126a516565b9050610cfa888263ffffffff61265916565b97508115610d0757600196505b5050505b50600101610a8a565b505b509091565b6000610d263361185b565b905080610d455760405162461bcd60e51b815260040161070a906134c3565b600554604051632462063960e01b81526001600160a01b0390911690632462063990610d7790869086906004016133d1565b600060405180830381600087803b158015610d9157600080fd5b505af1158015610da5573d6000803e3d6000fd5b50505050505050565b60006060610dba6113a8565b905060005b8151811015610ec1576000828281518110610dd657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a72191610e2c91869101613387565b60206040518083038186803b158015610e4457600080fd5b505afa158015610e58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e7c9190810190612cc9565b6001600160a01b0316141580610ea757506000818152600460205260409020546001600160a01b0316155b15610eb85760009350505050610ec8565b50600101610dbf565b5060019150505b90565b610ed361259a565b60005b83811015610f9357610eed8585838181106108dd57fe5b15610f8b57610f18858583818110610f0157fe5b9050602002013560086126cf90919063ffffffff16565b600a6000848484818110610f2857fe5b905060200201358152602001908152602001600020600090557f7ff80d3b3127593365b40f9f83c5c8739a8d47febe308d40e9390839b5335cf1858583818110610f6e57fe5b90506020020135604051610f829190613387565b60405180910390a15b600101610ed6565b5050505050565b6000818152600a602052604090205415155b919050565b60115481565b6000610fc23361185b565b905080610fe15760405162461bcd60e51b815260040161070a906134c3565b600554604051635246f2b960e01b81526001600160a01b0390911690635246f2b990610d7790869086906004016133d1565b6001546001600160a01b031681565b61102a61259a565b60005b83811015610f93576110448585838181106108dd57fe5b6110d657600085858381811061105657fe5b90506020020135905061107381600861261690919063ffffffff16565b80600a600086868681811061108457fe5b905060200201358152602001908152602001600020819055507fab4de7cb0edc2a9cbd9d540b749091def16b96cfc8a28853eba7fd3d74f71840816040516110cc9190613387565b60405180910390a1505b60010161102d565b60035460ff1681565b7021b7b63630ba32b930b626b0b730b3b2b960791b81565b61110761259a565b600081116111275760405162461bcd60e51b815260040161070a90613493565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906108a4908390613387565b600d6020526000908152604090205481565b60606111786113a8565b905060005b81518110156112c057600082828151811061119457fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016111d69190613319565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016112029291906133b1565b60206040518083038186803b15801561121a57600080fd5b505afa15801561122e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112529190810190612cc9565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906112ae9084908490613395565b60405180910390a1505060010161117d565b5050565b6000805b8251811015611303576112ed8382815181106112e057fe5b602002602001015161185b565b6112fb576000915050610fac565b6001016112c8565b50600192915050565b6001546001600160a01b031633146113365760405162461bcd60e51b815260040161070a90613443565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611379926001600160a01b0391821692911690613332565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6040805160028082526060808301845292839291906020830190803883390190505090506524b9b9bab2b960d11b816000815181106113e357fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061140d57fe5b6020908102919091010152600b5460609080156114e15780600202604051908082528060200260200182016040528015611451578160200160208202803883390190505b50915060005b818110156114df57600b80548290811061146d57fe5b906000526020600020015483828151811061148457fe5b602002602001018181525050600d6000600b60000183815481106114a457fe5b906000526020600020015481526020019081526020016000205483838301815181106114cc57fe5b6020908102919091010152600101611457565b505b600880546040805160208084028201810190925282815260609361153a93879383018282801561153057602002820191906000526020600020905b81548152602001906001019080831161151c575b50505050506127a3565b8051909150156115555761154e81856127a3565b9450611559565b8394505b5050505090565b61156861259a565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906108a4908390613387565b6000546001600160a01b031681565b60025481565b6115ba61259a565b600081116115da5760405162461bcd60e51b815260040161070a90613493565b600e55565b600b805460408051602080840282018101909252828152600093849360609383018282801561162d57602002820191906000526020600020905b815481526020019060010190808311611619575b50505050509050600081511115610d165760005b8151811015610d1457600061165b838381518110610aa457fe5b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561169357600080fd5b505afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116cb9190810190612e61565b90506000806116d8612685565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b81526004016117039190613387565b604080518083038186803b15801561171a57600080fd5b505afa15801561172e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117529190810190612eb9565b60055460405163719130ff60e11b81529294509092506000916117919185916001600160a01b039091169063e32261fe90610c8c908990600401613387565b90506117a3888263ffffffff61265916565b975081156117b057600196505b5050600190920191506116419050565b60055460405163af07aa9d60e01b81526000918291829182916001600160a01b039091169063af07aa9d906117fb90899089906004016133d1565b60806040518083038186803b15801561181357600080fd5b505afa158015611827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061184b9190810190612ee9565b9299919850965090945092505050565b600061186e60068363ffffffff61285f16565b92915050565b6000806118803361185b565b90508061189f5760405162461bcd60e51b815260040161070a906134c3565b600560009054906101000a90046001600160a01b03166001600160a01b0316638c5825036040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156118ef57600080fd5b505af1158015611903573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119279190810190612e61565b91505090565b600080600061193a612685565b6001600160a01b031663654a60ac8587631c1554d160e21b6040518463ffffffff1660e01b8152600401611970939291906133ec565b60206040518083038186803b15801561198857600080fd5b505afa15801561199c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119c09190810190612e61565b90506000806119cd610a28565b915091506000806119dc6115df565b9150915082806119e95750805b600f54909650611a0f86611a03878663ffffffff61265916565b9063ffffffff61265916565b1115965050505050505b9250929050565b6000806000611a2d6128cc565b6001600160a01b031663f023e8db631c1554d160e21b60016040518363ffffffff1660e01b8152600401611a629291906133a3565b60206040518083038186803b158015611a7a57600080fd5b505afa158015611a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ab29190810190612e61565b9050600080611abf610a28565b90925090506000611ad6848463ffffffff61265916565b90506000611b056a1a1a7062e5185d7e380000611af9868563ffffffff6128e016565b9063ffffffff6128e016565b90506000611b1e600e54836126a590919063ffffffff16565b9050611b356010548261265990919063ffffffff16565b989397509295505050505050565b611b4b61259a565b60005b81811015611c1e57611b88838383818110611b6557fe5b9050602002016020611b7a9190810190612cab565b60069063ffffffff61285f16565b611c1657611bbe838383818110611b9b57fe5b9050602002016020611bb09190810190612cab565b60069063ffffffff61290a16565b7f7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f838383818110611beb57fe5b9050602002016020611c009190810190612cab565b604051611c0d9190613324565b60405180910390a15b600101611b4e565b505050565b60105481565b6005546001600160a01b031681565b600e5481565b611c4661259a565b60005b81811015611c1e57611c77838383818110611c6057fe5b90506020020135600b6125c690919063ffffffff16565b15611e0657611ca2838383818110611c8b57fe5b90506020020135600b6126cf90919063ffffffff16565b6000611cbf848484818110611cb357fe5b9050602002013561264e565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015611cf757600080fd5b505afa158015611d0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d2f9190810190612e61565b600554604051636431e0bd60e01b81529192506001600160a01b031690636431e0bd90611d60908490600401613387565b600060405180830381600087803b158015611d7a57600080fd5b505af1158015611d8e573d6000803e3d6000fd5b50505050600d6000858585818110611da257fe5b905060200201358152602001908152602001600020600090557fc82c7ce2215189b78c42565fd1d25136f008aab037634d9db1f1b801ac025248848484818110611de857fe5b90506020020135604051611dfc9190613387565b60405180910390a1505b600101611c49565b600a6020526000908152604090205481565b600f5481565b60055460405163d2f0047560e01b81526000916001600160a01b03169063d2f0047590611e57908590600401613387565b60206040518083038186803b158015611e6f57600080fd5b505afa158015611e83573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061186e9190810190612e61565b6000611eb23361185b565b905080611ed15760405162461bcd60e51b815260040161070a906134c3565b60055460405163e31f27c160e01b81526001600160a01b039091169063e31f27c190610d7790869086906004016133d1565b60055460405163719130ff60e11b81526000916001600160a01b03169063e32261fe90611e57908590600401613387565b6000611f3f3361185b565b905080611f5e5760405162461bcd60e51b815260040161070a906134c3565b60055460405163e50a31b360e01b81526001600160a01b039091169063e50a31b390610d7790869086906004016133d1565b6000611f9b3361185b565b905080611fba5760405162461bcd60e51b815260040161070a906134c3565b6005546040516375ca5def60e11b81526001600160a01b039091169063eb94bbde90610d7790869086906004016133d1565b6000806000611ffa8461264e565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561203257600080fd5b505afa158015612046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061206a9190810190612e61565b9050612074612685565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b815260040161209f9190613387565b60206040518083038186803b1580156120b757600080fd5b505afa1580156120cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ef9190810190612e25565b915060006120fc8561264e565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561213457600080fd5b505afa158015612148573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061216c9190810190612e61565b6000868152600d6020526040812054919250906121889061264e565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c057600080fd5b505afa1580156121d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121f89190810190612e61565b60055460405163719130ff60e11b81529192506000916122849184916001600160a01b039091169063e32261fe90612234908990600401613387565b60206040518083038186803b15801561224c57600080fd5b505afa158015612260573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a039190810190612e61565b90508083111561229c57506000945061230192505050565b60006122ae828563ffffffff61295c16565b905060006122e16a1a1a7062e5185d7e380000611af96122d4888763ffffffff61265916565b859063ffffffff6128e016565b90506122f86011548261265990919063ffffffff16565b97505050505050505b915091565b60006123113361185b565b9050806123305760405162461bcd60e51b815260040161070a906134c3565b600554604051637a981bdb60e11b81526001600160a01b039091169063f53037b690612360908590600401613387565b600060405180830381600087803b15801561237a57600080fd5b505af115801561238e573d6000803e3d6000fd5b505050505050565b60008382146123b75760405162461bcd60e51b815260040161070a90613433565b600b5484146123c857506000610958565b60005b8481101561242f5760008686838181106123e157fe5b9050602002013590506123fe81600b6125c690919063ffffffff16565b158061241657506000818152600d6020526040902054155b1561242657600092505050610958565b506001016123cb565b5060005b82811015610952576005546001600160a01b031663a0356f6e85858481811061245857fe5b905060200201356040518263ffffffff1660e01b815260040161247b9190613387565b60206040518083038186803b15801561249357600080fd5b505afa1580156124a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124cb9190810190612e61565b6124d9576000915050610958565b600101612433565b6124e961259a565b60005b81811015611c1e57612503838383818110611b6557fe5b156125925761253a83838381811061251757fe5b905060200201602061252c9190810190612cab565b60069063ffffffff61298416565b7fd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a59383838381811061256757fe5b905060200201602061257c9190810190612cab565b6040516125899190613324565b60405180910390a15b6001016124ec565b6000546001600160a01b031633146125c45760405162461bcd60e51b815260040161070a906134a3565b565b81546000906125d75750600061186e565b6000828152600184016020526040902054801515806109585750828460000160008154811061260257fe5b906000526020600020015414949350505050565b61262082826125c6565b6112c05781546000828152600180850160209081526040832084905590830185558482529020018190555050565b600061186e82612a9a565b60008282018381101561267e5760405162461bcd60e51b815260040161070a90613453565b9392505050565b60006126a06c45786368616e6765526174657360981b612a9a565b905090565b6000670de0b6b3a76400006126c0848463ffffffff612af716565b816126c757fe5b049392505050565b6126d982826125c6565b6126f55760405162461bcd60e51b815260040161070a90613463565b600081815260018301602052604090205482546000190180821461276357600084600001828154811061272457fe5b906000526020600020015490508085600001848154811061274157fe5b6000918252602080832090910192909255918252600186019052604090208290555b835484908061276e57fe5b600190038181906000526020600020016000905590558360010160008481526020019081526020016000206000905550505050565b606081518351016040519080825280602002602001820160405280156127d3578160200160208202803883390190505b50905060005b8351811015612815578381815181106127ee57fe5b602002602001015182828151811061280257fe5b60209081029190910101526001016127d9565b5060005b82518110156128585782818151811061282e57fe5b602002602001015182828651018151811061284557fe5b6020908102919091010152600101612819565b5092915050565b81546000906128705750600061186e565b6001600160a01b0382166000908152600184016020526040902054801515806109585750826001600160a01b0316846000016000815481106128ae57fe5b6000918252602090912001546001600160a01b031614949350505050565b60006126a06524b9b9bab2b960d11b612a9a565b600061267e826128fe85670de0b6b3a764000063ffffffff612af716565b9063ffffffff612b3116565b612914828261285f565b6112c05781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b60008282111561297e5760405162461bcd60e51b815260040161070a90613473565b50900390565b61298e828261285f565b6129aa5760405162461bcd60e51b815260040161070a90613463565b6001600160a01b0381166000908152600183016020526040902054825460001901808214612a495760008460000182815481106129e357fe5b60009182526020909120015485546001600160a01b0390911691508190869085908110612a0c57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b8354849080612a5457fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b60008181526004602090815260408083205490516001600160a01b039091169182151591612aca918691016132f9565b604051602081830303815290604052906128585760405162461bcd60e51b815260040161070a9190613422565b600082612b065750600061186e565b82820282848281612b1357fe5b041461267e5760405162461bcd60e51b815260040161070a906134b3565b6000808211612b525760405162461bcd60e51b815260040161070a90613483565b6000828481612b5d57fe5b04949350505050565b803561186e816135c9565b805161186e816135c9565b60008083601f840112612b8e57600080fd5b50813567ffffffffffffffff811115612ba657600080fd5b602083019150836020820283011115611a1957600080fd5b600082601f830112612bcf57600080fd5b8135612be2612bdd82613538565b613511565b91508181835260208401935060208101905083856020840282011115612c0757600080fd5b60005b83811015612c335781612c1d8882612b66565b8452506020928301929190910190600101612c0a565b5050505092915050565b60008083601f840112612c4f57600080fd5b50813567ffffffffffffffff811115612c6757600080fd5b602083019150836040820283011115611a1957600080fd5b803561186e816135dd565b805161186e816135dd565b803561186e816135e6565b805161186e816135e6565b600060208284031215612cbd57600080fd5b60006109588484612b66565b600060208284031215612cdb57600080fd5b60006109588484612b71565b60008060208385031215612cfa57600080fd5b823567ffffffffffffffff811115612d1157600080fd5b612d1d85828601612b7c565b92509250509250929050565b600060208284031215612d3b57600080fd5b813567ffffffffffffffff811115612d5257600080fd5b61095884828501612bbe565b60008060008060408587031215612d7457600080fd5b843567ffffffffffffffff811115612d8b57600080fd5b612d9787828801612c3d565b9450945050602085013567ffffffffffffffff811115612db657600080fd5b612dc287828801612b7c565b95989497509550505050565b60008060008060408587031215612de457600080fd5b843567ffffffffffffffff811115612dfb57600080fd5b612d9787828801612b7c565b600060208284031215612e1957600080fd5b60006109588484612c7f565b600060208284031215612e3757600080fd5b60006109588484612c8a565b600060208284031215612e5557600080fd5b60006109588484612c95565b600060208284031215612e7357600080fd5b60006109588484612ca0565b60008060408385031215612e9257600080fd5b6000612e9e8585612c95565b9250506020612eaf85828601612c95565b9150509250929050565b60008060408385031215612ecc57600080fd5b6000612ed88585612ca0565b9250506020612eaf85828601612c8a565b60008060008060808587031215612eff57600080fd5b6000612f0b8787612ca0565b9450506020612f1c87828801612ca0565b9350506040612f2d87828801612ca0565b9250506060612f3e87828801612ca0565b91505092959194509250565b6000612f568383612fcf565b505060200190565b612f678161356c565b82525050565b6000612f788261355f565b612f828185613563565b9350612f8d83613559565b8060005b83811015612fbb578151612fa58882612f4a565b9750612fb083613559565b925050600101612f91565b509495945050505050565b612f6781613577565b612f6781610ec8565b612f67612fe482610ec8565b610ec8565b612f6781613588565b6000612ffd8261355f565b6130078185613563565b9350613017818560208601613593565b613020816135bf565b9093019392505050565b6000613037601b83613563565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b6000613070603583613563565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006130c7601b83613563565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613100601383613563565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b600061312f601e83613563565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613168601a83613563565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006131a1601183610fac565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006131ce601683613563565b7504d7573742062652067726561746572207468616e20360541b815260200192915050565b6000613200602f83613563565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613251602183613563565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613294601983613563565b7f4f6e6c7920636f6c6c61746572616c20636f6e74726163747300000000000000815260200192915050565b60006132cd601983610fac565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061330482613194565b91506133108284612fd8565b50602001919050565b6000613304826132c0565b6020810161186e8284612f5e565b604081016133408285612f5e565b61267e6020830184612f5e565b6020808252810161267e8184612f6d565b6020810161186e8284612fc6565b6040810161337a8285612fc6565b61267e6020830184612fc6565b6020810161186e8284612fcf565b604081016133408285612fcf565b6040810161337a8285612fcf565b604081016133bf8285612fcf565b81810360208301526109588184612ff2565b604081016133df8285612fcf565b61267e6020830184612fcf565b606081016133fa8286612fcf565b6134076020830185612fcf565b6109586040830184612fcf565b6020810161186e8284612fe9565b6020808252810161267e8184612ff2565b6020808252810161186e8161302a565b6020808252810161186e81613063565b6020808252810161186e816130ba565b6020808252810161186e816130f3565b6020808252810161186e81613122565b6020808252810161186e8161315b565b6020808252810161186e816131c1565b6020808252810161186e816131f3565b6020808252810161186e81613244565b6020808252810161186e81613287565b608081016134e18287612fcf565b6134ee6020830186612fcf565b6134fb6040830185612fcf565b6135086060830184612fcf565b95945050505050565b60405181810167ffffffffffffffff8111828210171561353057600080fd5b604052919050565b600067ffffffffffffffff82111561354f57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061186e8261357c565b151590565b6001600160a01b031690565b600061186e8261356c565b60005b838110156135ae578181015183820152602001613596565b838111156108615750506000910152565b601f01601f191690565b6135d28161356c565b8114610a2557600080fd5b6135d281613577565b6135d281610ec856fea365627a7a72315820671810712d181106bc41293e0c1d4adc606c8171782bc6edc98deefc5ef336366c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract CollateralManagerState",
							"name": "_state",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_maxDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_baseBorrowRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_baseShortRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "baseBorrowRate",
							"type": "uint256"
						}
					],
					"name": "BaseBorrowRateUpdated",
					"type": "event",
					"signature": "0x08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "baseShortRate",
							"type": "uint256"
						}
					],
					"name": "BaseShortRateUpdated",
					"type": "event",
					"signature": "0xe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "CollateralAdded",
					"type": "event",
					"signature": "0x7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "CollateralRemoved",
					"type": "event",
					"signature": "0xd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a593"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidationPenalty",
							"type": "uint256"
						}
					],
					"name": "LiquidationPenaltyUpdated",
					"type": "event",
					"signature": "0xbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e9"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxDebt",
							"type": "uint256"
						}
					],
					"name": "MaxDebtUpdated",
					"type": "event",
					"signature": "0x3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f"
				},
				{
					"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": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "PynthAdded",
					"type": "event",
					"signature": "0xab4de7cb0edc2a9cbd9d540b749091def16b96cfc8a28853eba7fd3d74f71840"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "PynthRemoved",
					"type": "event",
					"signature": "0x7ff80d3b3127593365b40f9f83c5c8739a8d47febe308d40e9390839b5335cf1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "ShortablePynthAdded",
					"type": "event",
					"signature": "0x228eebae23ce843c98c840591345820f72bfe22ac0ba807deebe0ee7d467ebd3"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "ShortablePynthRemoved",
					"type": "event",
					"signature": "0xc82c7ce2215189b78c42565fd1d25136f008aab037634d9db1f1b801ac025248"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x614d08f8"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "addCollaterals",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbbb601cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[2][]",
							"name": "requiredPynthAndInverseNamesInResolver",
							"type": "bytes32[2][]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addShortablePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0692b170"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "requiredPynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "requiredPynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "areShortablePynthsSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfb5aa1e1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "baseBorrowRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbf386682"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "baseShortRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4db7764c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe50a31b3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5246f2b9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "exceedsDebtLimit",
					"outputs": [
						{
							"internalType": "bool",
							"name": "canIssue",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb4d6cb40"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getBorrowRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "borrowRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba1c5e80"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getNewLoanId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb3b46732"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x03f048b0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "getShortRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "shortRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "rateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee81f790"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getShortRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf07aa9d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "hasAllCollaterals",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x744d646e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "hasCollateral",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb38988f7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xeb94bbde"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe31f27c1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isPynthManaged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x42e32f13"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "long",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd2f00475"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0064c00"
				},
				{
					"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": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthToInversePynth",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7060f9e8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "removeCollaterals",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xffa749cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2e5de389"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "removeShortablePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcc7ae663"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_baseBorrowRate",
							"type": "uint256"
						}
					],
					"name": "setBaseBorrowRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c9c81a1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_baseShortRate",
							"type": "uint256"
						}
					],
					"name": "setBaseShortRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8b173e81"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxDebt",
							"type": "uint256"
						}
					],
					"name": "setMaxDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6526941b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_utilisationMultiplier",
							"type": "uint256"
						}
					],
					"name": "setUtilisationMultiplier",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f7eac37"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "short",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32261fe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralManagerState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc19d93fb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLong",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "pusdValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1e33fc6b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalShort",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "pusdValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xad79a858"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateBorrowRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf53037b6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateShortRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x24620639"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "utilisationMultiplier",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9e18015"
				}
			],
			"source": {
				"keccak256": "0x34d37c9d0bd12570814b55aa770a692541c240e112410ad5c46c93dc234a93f4",
				"urls": [
					"bzz-raw://b0d103d5654c28a38b60911bef7074642fa7df5ac8ea81c6c4880e4e016ebe77",
					"dweb:/ipfs/QmTLJyPAAT1V4HYQXrCUb8KvWwaeQqcqA1CGXCHtdSP3pa"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralManager.sol": "CollateralManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CollateralManager.sol": {
						"keccak256": "0x34d37c9d0bd12570814b55aa770a692541c240e112410ad5c46c93dc234a93f4",
						"urls": [
							"bzz-raw://b0d103d5654c28a38b60911bef7074642fa7df5ac8ea81c6c4880e4e016ebe77",
							"dweb:/ipfs/QmTLJyPAAT1V4HYQXrCUb8KvWwaeQqcqA1CGXCHtdSP3pa"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralState": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162000f6c38038062000f6c83398101604081905262000034916200015a565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000267565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b59184906200022f565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f9062000255565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390620001369083906200021f565b60405180910390a1505050620002c2565b80516200015481620002a8565b92915050565b600080604083850312156200016e57600080fd5b60006200017c858562000147565b92505060206200018f8582860162000147565b9150509250929050565b620001a48162000294565b82525050565b620001a48162000282565b6000620001c460118362000279565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001f360198362000279565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620001548284620001aa565b604081016200023f828562000199565b6200024e6020830184620001aa565b9392505050565b602080825281016200015481620001b5565b602080825281016200015481620001e4565b90815260200190565b60006001600160a01b03821662000154565b600062000154826000620001548262000282565b620002b38162000282565b8114620002bf57600080fd5b50565b610c9a80620002d26000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806379ba50971161007157806379ba50971461011a5780638da5cb5b1461012257806398c61c371461012a578063a1c5158614610152578063aefc4ccb14610172578063e0b6adbc1461017a576100a9565b80631627540c146100ae57806344dce41c146100c357806352f445ca146100d657806353a47bb7146100e95780635c33120414610107575b600080fd5b6100c16100bc36600461088c565b61019a565b005b6100c16100d13660046108ec565b6101f8565b6100c16100e436600461088c565b610352565b6100f16103a5565b6040516100fe9190610adc565b60405180910390f35b6100c16101153660046108ec565b6103b4565b6100c161048d565b6100f1610529565b61013d6101383660046108b2565b610538565b6040516100fe99989796959493929190610b59565b6101656101603660046108b2565b6105ad565b6040516100fe9190610b3c565b6100f16106e4565b61018d61018836600461088c565b6106f3565b6040516100fe9190610b4b565b6101a261070e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101ed908390610adc565b60405180910390a150565b6002546001600160a01b0316331461022b5760405162461bcd60e51b815260040161022290610b2c565b60405180910390fd5b6020808201516001600160a01b03166000908152600390915260408120905b815481101561034d57826000015182828154811061026457fe5b906000526020600020906009020160000154141561034557826003600085602001516001600160a01b03166001600160a01b0316815260200190815260200160002082815481106102b157fe5b6000918252602091829020835160099290920201908155908201516001820180546001600160a01b0319166001600160a01b0390921691909117905560408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e08201516007820155610100909101516008909101555b60010161024a565b505050565b61035a61070e565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906101ed908390610adc565b6001546001600160a01b031681565b6002546001600160a01b031633146103de5760405162461bcd60e51b815260040161022290610b2c565b602081810180516001600160a01b03908116600090815260038085526040808320805460018082018355918552969093208751600990970201958655935191850180546001600160a01b03191692909316919091179091559083015160028301556060830151908201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e0820151600782015561010090910151600890910155565b6001546001600160a01b031633146104b75760405162461bcd60e51b815260040161022290610b0c565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926104fa926001600160a01b0391821692911690610aea565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6003602052816000526040600020818154811061055157fe5b60009182526020909120600990910201805460018201546002830154600384015460048501546005860154600687015460078801546008909801549699506001600160a01b03909516975092959194909360ff90931692919089565b6105b561073a565b6001600160a01b0383166000908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610683576000848152602090819020604080516101208101825260098602909201805483526001808201546001600160a01b0316848601526002820154928401929092526003810154606084015260048101546080840152600581015460ff16151560a0840152600681015460c0840152600781015460e08401526008015461010083015290835290920191016105ed565b509293506000925050505b81518110156106db57838282815181106106a457fe5b60200260200101516000015114156106d3578181815181106106c257fe5b6020026020010151925050506106de565b60010161068e565b50505b92915050565b6002546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b031633146107385760405162461bcd60e51b815260040161022290610b1c565b565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b80356106de81610c2e565b80356106de81610c45565b80356106de81610c4e565b600061012082840312156107c857600080fd5b6107d3610120610bdf565b905060006107e184846107aa565b82525060206107f284848301610794565b6020830152506040610806848285016107aa565b604083015250606061081a848285016107aa565b606083015250608061082e848285016107aa565b60808301525060a06108428482850161079f565b60a08301525060c0610856848285016107aa565b60c08301525060e061086a848285016107aa565b60e08301525061010061087f848285016107aa565b6101008301525092915050565b60006020828403121561089e57600080fd5b60006108aa8484610794565b949350505050565b600080604083850312156108c557600080fd5b60006108d18585610794565b92505060206108e2858286016107aa565b9150509250929050565b600061012082840312156108ff57600080fd5b60006108aa84846107b5565b61091481610c0f565b82525050565b61091481610c1a565b61091481610c1f565b6000610939603583610c06565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610990602f83610c06565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006109e1603483610c06565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b8051610120830190610a3c8482610923565b506020820151610a4f602085018261090b565b506040820151610a626040850182610923565b506060820151610a756060850182610923565b506080820151610a886080850182610923565b5060a0820151610a9b60a085018261091a565b5060c0820151610aae60c0850182610923565b5060e0820151610ac160e0850182610923565b50610100820151610ad6610100850182610923565b50505050565b602081016106de828461090b565b60408101610af8828561090b565b610b05602083018461090b565b9392505050565b602080825281016106de8161092c565b602080825281016106de81610983565b602080825281016106de816109d4565b61012081016106de8284610a2a565b602081016106de8284610923565b6101208101610b68828c610923565b610b75602083018b61090b565b610b82604083018a610923565b610b8f6060830189610923565b610b9c6080830188610923565b610ba960a083018761091a565b610bb660c0830186610923565b610bc360e0830185610923565b610bd1610100830184610923565b9a9950505050505050505050565b60405181810167ffffffffffffffff81118282101715610bfe57600080fd5b604052919050565b90815260200190565b60006106de82610c22565b151590565b90565b6001600160a01b031690565b610c3781610c0f565b8114610c4257600080fd5b50565b610c3781610c1a565b610c3781610c1f56fea365627a7a72315820b8d9901f803f139700c40648bd3b4bc5847bfe803e3c5e01b7c633e4e1b9231f6c6578706572696d656e74616cf564736f6c63430005100040",
			"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": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "createLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5c331204"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "getLoan",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa1c51586"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNumLoans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "numLoans",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe0b6adbc"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "loans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "address payable",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "short",
							"type": "bool"
						},
						{
							"internalType": "uint256",
							"name": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "interestIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastInteraction",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x98c61c37"
				},
				{
					"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": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "updateLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x44dce41c"
				}
			],
			"source": {
				"keccak256": "0xa2401c1d574ce471060177b1112a623398a50bed69b142f522f5419a6862af65",
				"urls": [
					"bzz-raw://5b97eb1c74cb874422f5e35ec1c5e6d75d038bfe294751e4bca29e8054fbcc44",
					"dweb:/ipfs/QmRHPP95pj3WfYrFC7DkXncT1S2HGme1B4NnkVyzcoWTdw"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralState.sol": "CollateralState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CollateralState.sol": {
						"keccak256": "0xa2401c1d574ce471060177b1112a623398a50bed69b142f522f5419a6862af65",
						"urls": [
							"bzz-raw://5b97eb1c74cb874422f5e35ec1c5e6d75d038bfe294751e4bca29e8054fbcc44",
							"dweb:/ipfs/QmRHPP95pj3WfYrFC7DkXncT1S2HGme1B4NnkVyzcoWTdw"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralEth": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162005eac38038062005eac8339810160408190526200004c916200016c565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f9062000294565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d59184906200026e565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b5550506001601055506200031595505050505050565b80516200014c81620002e5565b92915050565b80516200014c81620002ff565b80516200014c816200030a565b600080600080600080600060e0888a0312156200018857600080fd5b6000620001968a8a6200015f565b9750506020620001a98a828b016200013f565b9650506040620001bc8a828b016200013f565b9550506060620001cf8a828b016200013f565b9450506080620001e28a828b0162000152565b93505060a0620001f58a828b0162000152565b92505060c0620002088a828b0162000152565b91505092959891949750929550565b6200022281620002d8565b82525050565b6200022281620002af565b600062000242601983620002a6565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200027e828562000217565b6200028d602083018462000228565b9392505050565b602080825281016200014c8162000233565b90815260200190565b60006200014c82620002cc565b90565b60006200014c82620002af565b6001600160a01b031690565b60006200014c82620002bf565b620002f081620002af565b8114620002fc57600080fd5b50565b620002f081620002bc565b620002f081620002bf565b615b8780620003256000396000f3fe6080604052600436106102465760003560e01c80635eb2ad0111610139578063b562a1ab116100b6578063d2b8035a1161007a578063d2b8035a14610638578063dac8cf6814610658578063de81eda914610678578063e74337c614610698578063eb8e3b65146106b8578063f3f43703146106cd57610246565b8063b562a1ab146105b9578063ba2de9bc146105ce578063c19d93fb146105e3578063cd285020146105f8578063d0ebdbe71461061857610246565b80638cd2e0c7116100fd5780638cd2e0c71461052f5780638da5cb5b1461054f57806390abb4d914610564578063925ead1114610584578063a76cdfa51461059957610246565b80635eb2ad01146104a357806374185360146104c357806379ba5097146104d85780637e132355146104ed578063899ffef41461050d57610246565b8063361e2086116101c757806347e7ef241161018b57806347e7ef2414610419578063481c6a751461042c5780634c17ace41461044e57806353a47bb71461046e57806355bd615c1461048357610246565b8063361e20861461038f57806337551ec6146103a4578063379607f5146103c45780634065b81b146103e4578063441a3e70146103f957610246565b80630cdd1c651161020e5780630cdd1c65146102f85780630e54a19b1461031857806315aaf4dd146103455780631627540c1461035a5780632af64bd31461037a57610246565b806304f3bcec1461024b57806306c19e3f146102765780630710285c1461028b5780630a153c97146102ab5780630aebeb4e146102d8575b600080fd5b34801561025757600080fd5b506102606106ed565b60405161026d91906157e3565b60405180910390f35b610289610284366004614d35565b6106fc565b005b34801561029757600080fd5b506102896102a6366004614bee565b61070e565b3480156102b757600080fd5b506102cb6102c6366004614d35565b610754565b60405161026d9190615771565b3480156102e457600080fd5b506102896102f3366004614d17565b610890565b34801561030457600080fd5b50610289610313366004614d17565b6108d3565b34801561032457600080fd5b50610338610333366004614c3b565b6109be565b60405161026d9190615763565b34801561035157600080fd5b506102cb610a80565b34801561036657600080fd5b50610289610375366004614b78565b610a86565b34801561038657600080fd5b50610338610ad9565b34801561039b57600080fd5b506102cb610bf1565b3480156103b057600080fd5b506102cb6103bf366004614d17565b610bf7565b3480156103d057600080fd5b506102896103df366004614d17565b610c15565b3480156103f057600080fd5b50610338610cea565b34801561040557600080fd5b50610289610414366004614d35565b610cf3565b610289610427366004614bb4565b610d37565b34801561043857600080fd5b50610441610d42565b60405161026d91906156f2565b34801561045a57600080fd5b50610289610469366004614d17565b610d51565b34801561047a57600080fd5b50610441610e2d565b34801561048f57600080fd5b5061028961049e366004614c3b565b610e3c565b3480156104af57600080fd5b506102896104be366004614bb4565b610f02565b3480156104cf57600080fd5b50610289610f38565b3480156104e457600080fd5b5061028961108a565b3480156104f957600080fd5b506102cb610508366004614d35565b611126565b34801561051957600080fd5b506105226111cf565b60405161026d9190615752565b34801561053b57600080fd5b5061028961054a366004614bee565b611334565b34801561055b57600080fd5b50610441611340565b34801561057057600080fd5b5061028961057f366004614cab565b61134f565b34801561059057600080fd5b506102cb61139b565b3480156105a557600080fd5b506102896105b4366004614d17565b6113a1565b3480156105c557600080fd5b506102cb6113de565b3480156105da57600080fd5b506102cb6113e4565b3480156105ef57600080fd5b506102606113ea565b34801561060457600080fd5b506102cb610613366004614d17565b6113f9565b34801561062457600080fd5b50610289610633366004614b78565b61140b565b34801561064457600080fd5b50610289610653366004614d35565b611464565b34801561066457600080fd5b506102cb610673366004614d54565b61146e565b34801561068457600080fd5b50610441610693366004614d17565b6115c7565b3480156106a457600080fd5b506102cb6106b3366004614d54565b6115e2565b3480156106c457600080fd5b506102cb6118cc565b3480156106d957600080fd5b506102cb6106e8366004614b78565b6118d2565b6002546001600160a01b031681565b61070934838360006118e4565b505050565b600061071b848484612073565b3360009081526011602052604090205490915061073e908263ffffffff61243e16565b3360009081526011602052604090205550505050565b60008061075f61246c565b905061076961251e565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161079a939291906157bb565b60206040518083038186803b1580156107b257600080fd5b505afa1580156107c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ea9190810190614d92565b915061088861087b8273__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561083757600080fd5b505af415801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061086f9190810190614d92565b9063ffffffff61243e16565b839063ffffffff61253916565b949350505050565b600061089c3383612563565b336000908152601160205260409020549091506108bf908263ffffffff61243e16565b336000908152601160205260409020555050565b6108db612a2e565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561091f57600080fd5b505af4158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109579190810190614d92565b811161097e5760405162461bcd60e51b815260040161097590615812565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906109b3908390615771565b60405180910390a150565b60075460009084146109d257506000610888565b60005b84811015610a745760008686838181106109eb57fe5b9050602002013590508060078381548110610a0257fe5b906000526020600020015414610a1d57600092505050610888565b60078281548110610a2a57fe5b906000526020600020015460086000878786818110610a4557fe5b9050602002013581526020019081526020016000205414610a6b57600092505050610888565b506001016109d5565b50600195945050505050565b600e5481565b610a8e612a2e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906109b39083906156f2565b60006060610ae56111cf565b905060005b8151811015610be7576000828281518110610b0157fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b52908590600401615771565b60206040518083038186803b158015610b6a57600080fd5b505afa158015610b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ba29190810190614b96565b6001600160a01b0316141580610bcd57506000818152600360205260409020546001600160a01b0316155b15610bde5760009350505050610bee565b50600101610aea565b5060019150505b90565b600c5481565b60078181548110610c0457fe5b600091825260209091200154905081565b601080546001019081905533600090815260116020526040902054610c40908363ffffffff612a5a16565b336000818152601160205260408082209390935591518490610c61906156e7565b60006040518083038185875af1925050503d8060008114610c9e576040519150601f19603f3d011682016040523d82523d6000602084013e610ca3565b606091505b5050905080610cc45760405162461bcd60e51b815260040161097590615852565b506010548114610ce65760405162461bcd60e51b8152600401610975906159b2565b5050565b600f5460ff1681565b6000610cff8383612a82565b33600090815260116020526040902054909150610d22908263ffffffff61243e16565b33600090815260116020526040902055505050565b610ce6828234612c85565b6006546001600160a01b031681565b610d59612a2e565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9d57600080fd5b505af4158015610db1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dd59190810190614d92565b610e1002811115610df85760405162461bcd60e51b815260040161097590615922565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906109b3908390615771565b6001546001600160a01b031681565b610e44612a2e565b828114610e635760405162461bcd60e51b815260040161097590615802565b60005b83811015610ef3576000858583818110610e7c57fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610ed057fe5b602090810292909201358352508101919091526040016000205550600101610e66565b50610efc610f38565b50505050565b610f0a612a2e565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6060610f426111cf565b905060005b8151811015610ce6576000828281518110610f5e57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610fa091906156dc565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610fcc92919061579b565b60206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061101c9190810190614b96565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890611078908490849061577f565b60405180910390a15050600101610f47565b6001546001600160a01b031633146110b45760405162461bcd60e51b815260040161097590615842565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926110f7926001600160a01b0391821692911690615729565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111c861113361251e565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b8152600401611164939291906157bb565b60206040518083038186803b15801561117c57600080fd5b505afa158015611190573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111b49190810190614d92565b6111bc612e7c565b9063ffffffff61253916565b9392505050565b6060806111da612f0c565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061121957fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061124357fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061126957fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061129257fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b816004815181106112b857fe5b60200260200101818152505060606112d08383612f5d565b905061132c81600780548060200260200160405190810160405280929190818152602001828054801561132257602002820191906000526020600020905b81548152602001906001019080831161130e575b5050505050612f5d565b935050505090565b61070983338484613019565b6000546001600160a01b031681565b611357612a2e565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916109b39160ff90911690615763565b600a5481565b6113a9612a2e565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906109b3908390615771565b60045481565b600b5481565b6005546001600160a01b031681565b60086020526000908152604090205481565b611413612a2e565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926109b39216906156f2565b610ce6828261333a565b60008061147961251e565b6001600160a01b031663654a60ac6004548560400151631c1554d160e21b6040518463ffffffff1660e01b81526004016114b5939291906157bb565b60206040518083038186803b1580156114cd57600080fd5b505afa1580156114e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115059190810190614d92565b9050600061151161251e565b6001600160a01b031663654a60ac856060015161153f8760c00151886080015161243e90919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b8152600401611565939291906157bb565b60206040518083038186803b15801561157d57600080fd5b505afa158015611591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115b59190810190614d92565b9050610888828263ffffffff61386016565b6009602052600090815260409020546001600160a01b031681565b6000806115ed61246c565b905060006115f961251e565b6001600160a01b031663654a60ac85606001516116278760c00151886080015161243e90919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b815260040161164d939291906157bb565b60206040518083038186803b15801561166557600080fd5b505afa158015611679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169d9190810190614d92565b905060006116a961251e565b6001600160a01b031663654a60ac6004548760400151631c1554d160e21b6040518463ffffffff1660e01b81526004016116e5939291906157bb565b60206040518083038186803b1580156116fd57600080fd5b505afa158015611711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117359190810190614d92565b9050600073__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561177d57600080fd5b505af4158015611791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117b59190810190614d92565b905060006117de6117d1600a548561386090919063ffffffff16565b859063ffffffff612a5a16565b9050600061181761180a600a546117fe898761243e90919063ffffffff16565b9063ffffffff61386016565b849063ffffffff612a5a16565b9050600061182b838363ffffffff61386016565b905061183561251e565b6001600160a01b031663654a60ac631c1554d160e21b838c606001516040518463ffffffff1660e01b815260040161186f939291906157bb565b60206040518083038186803b15801561188757600080fd5b505afa15801561189b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118bf9190810190614d92565b9998505050505050505050565b600d5481565b60116020526000908152604090205481565b60006118ee61388a565b6118f661392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561192e57600080fd5b505afa158015611942573d6000803e3d6000fd5b5050600f5460ff16915061196a90505760405162461bcd60e51b815260040161097590615912565b6000838152600860205260409020546119955760405162461bcd60e51b815260040161097590615972565b61199d61251e565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016119c89190615771565b60206040518083038186803b1580156119e057600080fd5b505afa1580156119f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a189190810190614cc9565b15611a355760405162461bcd60e51b8152600401610975906158c2565b600b54851015611a575760405162461bcd60e51b8152600401610975906158b2565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc90611a8a903390600401615700565b60206040518083038186803b158015611aa257600080fd5b505afa158015611ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ada9190810190614d92565b10611af75760405162461bcd60e51b815260040161097590615892565b600080611b02613946565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401611b2f92919061578d565b604080518083038186803b158015611b4657600080fd5b505afa158015611b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b7e9190810190614ce7565b91509150818015611b8d575080155b611ba95760405162461bcd60e51b815260040161097590615992565b611bb38786611126565b861115611bd25760405162461bcd60e51b815260040161097590615942565b6000611be9600c548861395590919063ffffffff16565b90506000611bfd888363ffffffff612a5a16565b9050611c07613946565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c4157600080fd5b505af1158015611c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c799190810190614d92565b9450611c836148f2565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a815260200188151581526020016000815260200160008152602001428152509050611cdb8161396a565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490611d0c9084906004016159e2565b600060405180830381600087803b158015611d2657600080fd5b505af1158015611d3a573d6000803e3d6000fd5b50505050611d488389613e56565b8615611f3e57611d56614042565b6001600160a01b031663867904b433611d6d61251e565b6001600160a01b031663654a60ac8c87631c1554d160e21b6040518463ffffffff1660e01b8152600401611da3939291906157bb565b60206040518083038186803b158015611dbb57600080fd5b505afa158015611dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611df39190810190614d92565b6040518363ffffffff1660e01b8152600401611e1092919061570e565b600060405180830381600087803b158015611e2a57600080fd5b505af1158015611e3e573d6000803e3d6000fd5b50505050611e4a613946565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401611e7792919061578d565b600060405180830381600087803b158015611e9157600080fd5b505af1158015611ea5573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050611f39576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190611f069033908d9060040161570e565b600060405180830381600087803b158015611f2057600080fd5b505af1158015611f34573d6000803e3d6000fd5b505050505b61201d565b600088815260086020526040902054611f5690614059565b6001600160a01b031663867904b433846040518363ffffffff1660e01b8152600401611f8392919061570e565b600060405180830381600087803b158015611f9d57600080fd5b505af1158015611fb1573d6000803e3d6000fd5b50505050611fbd613946565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401611fea92919061578d565b600060405180830381600087803b15801561200457600080fd5b505af1158015612018573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c8860405161205e959493929190615a2f565b60405180910390a25050505050949350505050565b600061207d61388a565b61208561392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156120bd57600080fd5b505afa1580156120d1573d6000803e3d6000fd5b50505050600082116120f55760405162461bcd60e51b815260040161097590615872565b6120fd6148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061212f9088908890600401615744565b6101206040518083038186803b15801561214857600080fd5b505afa15801561215c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121809190810190614d73565b905061218b81614064565b6121948161396a565b90506121a5338260600151856140c4565b600a546121b18261146e565b106121ce5760405162461bcd60e51b8152600401610975906158a2565b60006121d9826115e2565b905060008482106121ea57846121ec565b815b9050600061220b8460c00151856080015161243e90919063ffffffff16565b905080821061222a5761221f883386614177565b9450505050506111c8565b6122348483614546565b9350612244846060015183610754565b604085015190955061225c908663ffffffff612a5a16565b604085015242610100850152612270614769565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b81526004016122a192919061570e565b60206040518083038186803b1580156122b957600080fd5b505afa1580156122cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122f19190810190614cc9565b1561230e5760405162461bcd60e51b8152600401610975906159d2565b606084015160009081526008602052604090205461232b90614059565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040161235892919061570e565b600060405180830381600087803b15801561237257600080fd5b505af1158015612386573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c91506123ba9087906004016159e2565b600060405180830381600087803b1580156123d457600080fd5b505af11580156123e8573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c58833858960405161242b94939291906159f1565b60405180910390a2505050509392505050565b6000828201838110156124635760405162461bcd60e51b815260040161097590615882565b90505b92915050565b6000612476614780565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b81526004016124c992919061578d565b60206040518083038186803b1580156124e157600080fd5b505afa1580156124f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125199190810190614d92565b905090565b60006125196c45786368616e6765526174657360981b614799565b6000670de0b6b3a7640000612554848463ffffffff6147f616565b8161255b57fe5b049392505050565b600061256d61388a565b61257561392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156125ad57600080fd5b505afa1580156125c1573d6000803e3d6000fd5b505050506125cd6148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906125ff9087908790600401615744565b6101206040518083038186803b15801561261857600080fd5b505afa15801561262c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126509190810190614d73565b905061265b81614064565b6126648161396a565b905060006126838260c00151836080015161243e90919063ffffffff16565b905061269882602001518360600151836140c4565b6126a0614769565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b81526004016126d1929190615744565b60206040518083038186803b1580156126e957600080fd5b505afa1580156126fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127219190810190614cc9565b1561273e5760405162461bcd60e51b8152600401610975906158d2565b606082015160009081526008602052604090205461275b90614059565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612788929190615744565b600060405180830381600087803b1580156127a257600080fd5b505af11580156127b6573d6000803e3d6000fd5b505050508160a00151156128d4576127cc613946565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161280192919061578d565b600060405180830381600087803b15801561281b57600080fd5b505af115801561282f573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b0316156128cf57606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161289c918991600401615744565b600060405180830381600087803b1580156128b657600080fd5b505af11580156128ca573d6000803e3d6000fd5b505050505b612944565b6128dc613946565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161291192919061578d565b600060405180830381600087803b15801561292b57600080fd5b505af115801561293f573d6000803e3d6000fd5b505050505b8160400151925061295d8260c001518360600151613e56565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c906129b39085906004016159e2565b600060405180830381600087803b1580156129cd57600080fd5b505af11580156129e1573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f85604051612a1e9190615771565b60405180910390a2505092915050565b6000546001600160a01b03163314612a585760405162461bcd60e51b815260040161097590615952565b565b600082821115612a7c5760405162461bcd60e51b8152600401610975906158e2565b50900390565b6000612a8c61388a565b612a9461392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612acc57600080fd5b505afa158015612ae0573d6000803e3d6000fd5b50505050612aec6148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612b1e903390889060040161570e565b6101206040518083038186803b158015612b3757600080fd5b505afa158015612b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b6f9190810190614d73565b9050612b7a81614064565b612b838161396a565b6040810151909150612b9b908463ffffffff612a5a16565b604082015242610100820152600a54612bb38261146e565b11612bd05760405162461bcd60e51b815260040161097590615822565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612c009084906004016159e2565b600060405180830381600087803b158015612c1a57600080fd5b505af1158015612c2e573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330385858460400151604051612c76939291906157bb565b60405180910390a25092915050565b612c8d61388a565b612c9561392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612ccd57600080fd5b505afa158015612ce1573d6000803e3d6000fd5b5050505060008111612d055760405162461bcd60e51b815260040161097590615982565b612d0d6148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612d3f9087908790600401615744565b6101206040518083038186803b158015612d5857600080fd5b505afa158015612d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d909190810190614d73565b9050612d9b81614064565b612da48161396a565b6040810151909150612dbc908363ffffffff61243e16565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612dfb9084906004016159e2565b600060405180830381600087803b158015612e1557600080fd5b505af1158015612e29573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c84848460400151604051612e6e939291906157bb565b60405180910390a250505050565b6000612519600a5473__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612ec857600080fd5b505af4158015612edc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f009190810190614d92565b9063ffffffff61483016565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612f4e57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612f8d578160200160208202803883390190505b50905060005b8351811015612fcf57838181518110612fa857fe5b6020026020010151828281518110612fbc57fe5b6020908102919091010152600101612f93565b5060005b825181101561301257828181518110612fe857fe5b6020026020010151828286510181518110612fff57fe5b6020908102919091010152600101612fd3565b5092915050565b61302161388a565b61302961392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561306157600080fd5b505afa158015613075573d6000803e3d6000fd5b50505050600081116130995760405162461bcd60e51b815260040161097590615872565b6130a16148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906130d39088908790600401615744565b6101206040518083038186803b1580156130ec57600080fd5b505afa158015613100573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131249190810190614d73565b905061312f81614064565b6131388161396a565b9050613149848260600151846140c4565b6131538183614546565b426101008201529050613164614769565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401613195929190615744565b60206040518083038186803b1580156131ad57600080fd5b505afa1580156131c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131e59190810190614cc9565b156132025760405162461bcd60e51b8152600401610975906159d2565b606081015160009081526008602052604090205461321f90614059565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b815260040161324c929190615744565b600060405180830381600087803b15801561326657600080fd5b505af115801561327a573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c91506132ae9084906004016159e2565b600060405180830381600087803b1580156132c857600080fd5b505af11580156132dc573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f8585856080015160405161332b939291906157bb565b60405180910390a35050505050565b61334261388a565b61334a61392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561338257600080fd5b505afa158015613396573d6000803e3d6000fd5b505050506133a26148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906133d4903390879060040161570e565b6101206040518083038186803b1580156133ed57600080fd5b505afa158015613401573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134259190810190614d73565b905061343081614064565b6134398161396a565b6080810151909150613451908363ffffffff61243e16565b6080820152600a546134628261146e565b1161347f5760405162461bcd60e51b815260040161097590615832565b6000613496600c548461395590919063ffffffff16565b905060006134aa848363ffffffff612a5a16565b90508260a00151156136b7576134be613946565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b81526004016134ef92919061578d565b600060405180830381600087803b15801561350957600080fd5b505af115801561351d573d6000803e3d6000fd5b50505050613529614042565b6001600160a01b031663867904b43361354061251e565b6001600160a01b031663654a60ac876060015186631c1554d160e21b6040518463ffffffff1660e01b815260040161357a939291906157bb565b60206040518083038186803b15801561359257600080fd5b505afa1580156135a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135ca9190810190614d92565b6040518363ffffffff1660e01b81526004016135e792919061570e565b600060405180830381600087803b15801561360157600080fd5b505af1158015613615573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156136b25760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a519061367f903390889060040161570e565b600060405180830381600087803b15801561369957600080fd5b505af11580156136ad573d6000803e3d6000fd5b505050505b61379f565b6136bf613946565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b81526004016136f092919061578d565b600060405180830381600087803b15801561370a57600080fd5b505af115801561371e573d6000803e3d6000fd5b505050606084015160009081526008602052604090205461373f9150614059565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040161376c92919061570e565b600060405180830381600087803b15801561378657600080fd5b505af115801561379a573d6000803e3d6000fd5b505050505b6137ad828460600151613e56565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c906137e49086906004016159e2565b600060405180830381600087803b1580156137fe57600080fd5b505af1158015613812573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654868660405161385192919061578d565b60405180910390a25050505050565b60006111c88261387e85670de0b6b3a764000063ffffffff6147f616565b9063ffffffff61484516565b61389261251e565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016138bf9190615771565b60206040518083038186803b1580156138d757600080fd5b505afa1580156138eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061390f9190810190614cc9565b15612a585760405162461bcd60e51b815260040161097590615932565b60006125196b53797374656d53746174757360a01b614799565b6006546001600160a01b031690565b60006111c88383670de0b6b3a764000061487a565b6139726148f2565b8190506000806000808560a00151613a105761398c613946565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b81526004016139bb9190615771565b60806040518083038186803b1580156139d357600080fd5b505afa1580156139e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a0b9190810190614dcf565b613a9d565b613a18613946565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613a4d92919061578d565b60806040518083038186803b158015613a6557600080fd5b505afa158015613a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a9d9190810190614dcf565b93509350935093506000808760a00151613b2d57613ab9613946565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613af057600080fd5b505afa158015613b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b289190810190614db0565b613bc5565b613b35613946565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613b7691600401615771565b604080518083038186803b158015613b8d57600080fd5b505afa158015613ba1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613bc59190810190614db0565b915091508015613be75760405162461bcd60e51b815260040161097590615902565b6000613c8473__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613c3057600080fd5b505af4158015613c44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c689190810190614d92565b613c78428863ffffffff612a5a16565b9063ffffffff6147f616565b90506000613ca8613c9b858463ffffffff61253916565b889063ffffffff61243e16565b905060008a60e00151600014613ce157613cdc613ccb838b63ffffffff612a5a16565b60808d01519063ffffffff61253916565b613ce4565b60005b90508a60a00151613d5957613cf7613946565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b8152600401613d229190615771565b600060405180830381600087803b158015613d3c57600080fd5b505af1158015613d50573d6000803e3d6000fd5b50505050613dc5565b613d61613946565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401613d9292919061578d565b600060405180830381600087803b158015613dac57600080fd5b505af1158015613dc0573d6000803e3d6000fd5b505050505b60c08b0151613dda908263ffffffff61243e16565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613e16908d906004016159e2565b600060405180830381600087803b158015613e3057600080fd5b505af1158015613e44573d6000803e3d6000fd5b50505050505050505050505050919050565b8115610ce657631c1554d160e21b8114613efb57613e7261251e565b6001600160a01b031663654a60ac8284631c1554d160e21b6040518463ffffffff1660e01b8152600401613ea8939291906157bb565b60206040518083038186803b158015613ec057600080fd5b505afa158015613ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ef89190810190614d92565b91505b613f03614042565b6001600160a01b031663867904b4613f196148b7565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015613f5157600080fd5b505afa158015613f65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f899190810190614b96565b846040518363ffffffff1660e01b8152600401613fa7929190615744565b600060405180830381600087803b158015613fc157600080fd5b505af1158015613fd5573d6000803e3d6000fd5b50505050613fe16148b7565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b815260040161400c9190615771565b600060405180830381600087803b15801561402657600080fd5b505af115801561403a573d6000803e3d6000fd5b505050505050565b600061251968141e5b9d1a1c1554d160ba1b614799565b600061246682614799565b60008160e00151116140885760405162461bcd60e51b8152600401610975906159a2565b426140a3600e5483610100015161243e90919063ffffffff16565b11156140c15760405162461bcd60e51b815260040161097590615862565b50565b60008281526008602052604090205481906140de90614059565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161410991906156f2565b60206040518083038186803b15801561412157600080fd5b505afa158015614135573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506141599190810190614d92565b10156107095760405162461bcd60e51b8152600401610975906159c2565b6000806141958360c00151846080015161243e90919063ffffffff16565b6080840151604085015193509091506141ac614769565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016141dd929190615744565b60206040518083038186803b1580156141f557600080fd5b505afa158015614209573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061422d9190810190614cc9565b1561424a5760405162461bcd60e51b8152600401610975906159d2565b606084015160009081526008602052604090205461426790614059565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b8152600401614294929190615744565b600060405180830381600087803b1580156142ae57600080fd5b505af11580156142c2573d6000803e3d6000fd5b505050508360a00151156143e0576142d8613946565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b815260040161430d92919061578d565b600060405180830381600087803b15801561432757600080fd5b505af115801561433b573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b0316156143db57606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916143a8918a91600401615744565b600060405180830381600087803b1580156143c257600080fd5b505af11580156143d6573d6000803e3d6000fd5b505050505b614450565b6143e8613946565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b815260040161441d92919061578d565b600060405180830381600087803b15801561443757600080fd5b505af115801561444b573d6000803e3d6000fd5b505050505b6144628460c001518560600151613e56565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c906144b89087906004016159e2565b600060405180830381600087803b1580156144d257600080fd5b505af11580156144e6573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb86600001518487604051614535939291906157bb565b60405180910390a350509392505050565b61454e6148f2565b50818115801590614563575060008360c00151115b156145c05760008360c00151831161457b5782614581565b8360c001515b60c0850151909150614599908263ffffffff612a5a16565b60c08301526145ae838263ffffffff612a5a16565b92506145be818560600151613e56565b505b81156124665760808301516145db908363ffffffff612a5a16565b608082015260a0810151156146f8576145f2613946565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b815260040161462392919061578d565b600060405180830381600087803b15801561463d57600080fd5b505af1158015614651573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b0316156146f35760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916146c09190869060040161570e565b600060405180830381600087803b1580156146da57600080fd5b505af11580156146ee573d6000803e3d6000fd5b505050505b612466565b614700613946565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b815260040161473192919061578d565b600060405180830381600087803b15801561474b57600080fd5b505af115801561475f573d6000803e3d6000fd5b5050505092915050565b60006125196822bc31b430b733b2b960b91b614799565b60006125196e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b0390911691821515916147c9918691016156bc565b604051602081830303815290604052906130125760405162461bcd60e51b815260040161097591906157f1565b60008261480557506000612466565b8282028284828161481257fe5b04146124635760405162461bcd60e51b815260040161097590615962565b60006111c88383670de0b6b3a76400006148cc565b60008082116148665760405162461bcd60e51b8152600401610975906158f2565b600082848161487157fe5b04949350505050565b600080600a8304614891868663ffffffff6147f616565b8161489857fe5b0490506005600a825b06106148ab57600a015b600a9004949350505050565b600061251966119959541bdbdb60ca1b614799565b6000806148e68461387e87600a870263ffffffff6147f616565b90506005600a826148a1565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b803561246681615b1e565b805161246681615b1e565b60008083601f84011261497457600080fd5b50813567ffffffffffffffff81111561498c57600080fd5b6020830191508360208202830111156149a457600080fd5b9250929050565b803561246681615b32565b805161246681615b32565b803561246681615b3b565b805161246681615b3b565b600061012082840312156149ea57600080fd5b6149f5610120615a7b565b90506000614a0384846149c1565b8252506020614a148484830161494c565b6020830152506040614a28848285016149c1565b6040830152506060614a3c848285016149c1565b6060830152506080614a50848285016149c1565b60808301525060a0614a64848285016149ab565b60a08301525060c0614a78848285016149c1565b60c08301525060e0614a8c848285016149c1565b60e083015250610100614aa1848285016149c1565b6101008301525092915050565b60006101208284031215614ac157600080fd5b614acc610120615a7b565b90506000614ada84846149cc565b8252506020614aeb84848301614957565b6020830152506040614aff848285016149cc565b6040830152506060614b13848285016149cc565b6060830152506080614b27848285016149cc565b60808301525060a0614b3b848285016149b6565b60a08301525060c0614b4f848285016149cc565b60c08301525060e0614b63848285016149cc565b60e083015250610100614aa1848285016149cc565b600060208284031215614b8a57600080fd5b6000610888848461494c565b600060208284031215614ba857600080fd5b60006108888484614957565b60008060408385031215614bc757600080fd5b6000614bd3858561494c565b9250506020614be4858286016149c1565b9150509250929050565b600080600060608486031215614c0357600080fd5b6000614c0f868661494c565b9350506020614c20868287016149c1565b9250506040614c31868287016149c1565b9150509250925092565b60008060008060408587031215614c5157600080fd5b843567ffffffffffffffff811115614c6857600080fd5b614c7487828801614962565b9450945050602085013567ffffffffffffffff811115614c9357600080fd5b614c9f87828801614962565b95989497509550505050565b600060208284031215614cbd57600080fd5b600061088884846149ab565b600060208284031215614cdb57600080fd5b600061088884846149b6565b60008060408385031215614cfa57600080fd5b6000614d0685856149b6565b9250506020614be4858286016149b6565b600060208284031215614d2957600080fd5b600061088884846149c1565b60008060408385031215614d4857600080fd5b6000614bd385856149c1565b60006101208284031215614d6757600080fd5b600061088884846149d7565b60006101208284031215614d8657600080fd5b60006108888484614aae565b600060208284031215614da457600080fd5b600061088884846149cc565b60008060408385031215614dc357600080fd5b6000614d0685856149cc565b60008060008060808587031215614de557600080fd5b6000614df187876149cc565b9450506020614e02878288016149cc565b9350506040614e13878288016149cc565b9250506060614e24878288016149cc565b91505092959194509250565b6000614e3c8383614ebe565b505060200190565b614e4d81615ad6565b82525050565b614e4d81615aba565b6000614e6782615aa8565b614e718185615aac565b9350614e7c83615aa2565b8060005b83811015614eaa578151614e948882614e30565b9750614e9f83615aa2565b925050600101614e80565b509495945050505050565b614e4d81615ac5565b614e4d81610bee565b614e4d614ed382610bee565b610bee565b614e4d81615add565b6000614eec82615aa8565b614ef68185615aac565b9350614f06818560208601615ae8565b614f0f81615b14565b9093019392505050565b6000614f26601b83615aac565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b6000614f5f601683615aac565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b6000614f91600e83615aac565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b6000614fbb601583615aac565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b6000614fec603583615aac565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615043600f83615aac565b6e151c985b9cd9995c8819985a5b1959608a1b815260200192915050565b600061506e601d83615aac565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b60006150a7601e83615aac565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b60006150e0601b83615aac565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615119601283615aac565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b6000615147601e83615aac565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b6000615180601d83615aac565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b60006151b9601883615aac565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b60006151f2602083615aac565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b600061522b601e83615aac565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000615264601a83615aac565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061529d601183615ab5565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006152ca601183615aac565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b60006152f7601383615aac565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b6000615326600a83615aac565b6926b0bc1018903437bab960b11b815260200192915050565b600061534c601a83615aac565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615385601b83615aac565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b60006153be602f83615aac565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061540f602183615aac565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000615452601f83615aac565b7f4e6f7420616c6c6f77656420746f20697373756520746869732070796e746800815260200192915050565b600061548b601e83615aac565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b60006154c4601a83615aac565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006154fd601983615ab5565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612466600083615ab5565b6000615543601383615aac565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b6000615572601f83615aac565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b60006155ab601883615aac565b7f4e6f7420656e6f7567682070796e74682062616c616e63650000000000000000815260200192915050565b60006155e4601b83615aac565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906156228482614ebe565b5060208201516156356020850182614e53565b5060408201516156486040850182614ebe565b50606082015161565b6060850182614ebe565b50608082015161566e6080850182614ebe565b5060a082015161568160a0850182614eb5565b5060c082015161569460c0850182614ebe565b5060e08201516156a760e0850182614ebe565b50610100820151610efc610100850182614ebe565b60006156c782615290565b91506156d38284614ec7565b50602001919050565b60006156c7826154f0565b600061246682615529565b602081016124668284614e53565b602081016124668284614e44565b6040810161571c8285614e44565b6111c86020830184614ebe565b604081016157378285614e53565b6111c86020830184614e53565b6040810161571c8285614e53565b602080825281016111c88184614e5c565b602081016124668284614eb5565b602081016124668284614ebe565b604081016157378285614ebe565b6040810161571c8285614ebe565b604081016157a98285614ebe565b81810360208301526108888184614ee1565b606081016157c98286614ebe565b6157d66020830185614ebe565b6108886040830184614ebe565b602081016124668284614ed8565b602080825281016111c88184614ee1565b6020808252810161246681614f19565b6020808252810161246681614f52565b6020808252810161246681614f84565b6020808252810161246681614fae565b6020808252810161246681614fdf565b6020808252810161246681615036565b6020808252810161246681615061565b602080825281016124668161509a565b60208082528101612466816150d3565b602080825281016124668161510c565b602080825281016124668161513a565b6020808252810161246681615173565b60208082528101612466816151ac565b60208082528101612466816151e5565b602080825281016124668161521e565b6020808252810161246681615257565b60208082528101612466816152bd565b60208082528101612466816152ea565b6020808252810161246681615319565b602080825281016124668161533f565b6020808252810161246681615378565b60208082528101612466816153b1565b6020808252810161246681615402565b6020808252810161246681615445565b602080825281016124668161547e565b60208082528101612466816154b7565b6020808252810161246681615536565b6020808252810161246681615565565b602080825281016124668161559e565b60208082528101612466816155d7565b61012081016124668284615610565b608081016159ff8287614ebe565b615a0c6020830186614e44565b615a196040830185614ebe565b615a266060830184614ebe565b95945050505050565b60a08101615a3d8288614ebe565b615a4a6020830187614ebe565b615a576040830186614ebe565b615a646060830185614ebe565b615a716080830184614ebe565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615a9a57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b600061246682615aca565b151590565b6001600160a01b031690565b6000612466825b600061246682615aba565b60005b83811015615b03578181015183820152602001615aeb565b83811115610efc5750506000910152565b601f01601f191690565b615b2781615aba565b81146140c157600080fd5b615b2781615ac5565b615b2781610bee56fea365627a7a72315820f7a2a316413fd8675faf7642500cf2abaeaba6705fa8dc9d3e8d154d19cb15986c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract CollateralState",
							"name": "_state",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_manager",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_collateralKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minCollateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canOpenLoans",
							"type": "bool"
						}
					],
					"name": "CanOpenLoansUpdated",
					"type": "event",
					"signature": "0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountDeposited",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interactionDelay",
							"type": "uint256"
						}
					],
					"name": "InteractionDelayUpdated",
					"type": "event",
					"signature": "0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanClosedByLiquidation",
					"type": "event",
					"signature": "0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuanceFee",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanDrawnDown",
					"type": "event",
					"signature": "0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "repayer",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountRepaid",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountAfter",
							"type": "uint256"
						}
					],
					"name": "LoanRepaymentMade",
					"type": "event",
					"signature": "0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "manager",
							"type": "address"
						}
					],
					"name": "ManagerUpdated",
					"type": "event",
					"signature": "0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxLoansPerAccount",
							"type": "uint256"
						}
					],
					"name": "MaxLoansPerAccountUpdated",
					"type": "event",
					"signature": "0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCollateral",
							"type": "uint256"
						}
					],
					"name": "MinCollateralUpdated",
					"type": "event",
					"signature": "0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCratio",
							"type": "uint256"
						}
					],
					"name": "MinCratioRatioUpdated",
					"type": "event",
					"signature": "0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"
				},
				{
					"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": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4065b81b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "claim",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x379607f5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aebeb4e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb562a1ab"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdac8cf68"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "collateralRedeemed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a153c97"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x47e7ef24"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd2b8035a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15aaf4dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0710285c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe74337c6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481c6a75"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e132355"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxLoansPerAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb8e3b65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba2de9bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x925ead11"
				},
				{
					"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": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x06c19e3f"
				},
				{
					"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": "",
							"type": "address"
						}
					],
					"name": "pendingWithdrawals",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf3f43703"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37551ec6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "repay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8cd2e0c7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_canOpenLoans",
							"type": "bool"
						}
					],
					"name": "setCanOpenLoans",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x90abb4d9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interactionDelay",
							"type": "uint256"
						}
					],
					"name": "setInteractionDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c17ace4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newManager",
							"type": "address"
						}
					],
					"name": "setManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0ebdbe7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						}
					],
					"name": "setMinCratio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0cdd1c65"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortingRewards",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xde81eda9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc19d93fb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "withdrawAmount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x441a3e70"
				}
			],
			"source": {
				"keccak256": "0xb3bca5b3142f5fb4f7fd5918d18ca980ac9f3b9a4f908a668b82928879c9036c",
				"urls": [
					"bzz-raw://a1972efad0da72bbf402d9efb29c09e7be5a7d94c49287ec34018a0c12ac4d03",
					"dweb:/ipfs/QmeZdPyhRfnkX545s6mNihpanMoV6QjT3ErK4pGhieEecS"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralEth.sol": "CollateralEth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CollateralEth.sol": {
						"keccak256": "0xb3bca5b3142f5fb4f7fd5918d18ca980ac9f3b9a4f908a668b82928879c9036c",
						"urls": [
							"bzz-raw://a1972efad0da72bbf402d9efb29c09e7be5a7d94c49287ec34018a0c12ac4d03",
							"dweb:/ipfs/QmeZdPyhRfnkX545s6mNihpanMoV6QjT3ErK4pGhieEecS"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralErc20": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162005fbc38038062005fbc8339810160408190526200004c916200018c565b888888888888888380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f90620002e0565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d5918490620002ba565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498831698821698909817909755600580549982169990971698909817909555600492909255600a55600b555050600f80549490921661010002610100600160a81b031990941693909317905560105550620003619650505050505050565b80516200016c8162000331565b92915050565b80516200016c816200034b565b80516200016c8162000356565b60008060008060008060008060006101208a8c031215620001ac57600080fd5b6000620001ba8c8c6200017f565b9950506020620001cd8c828d016200015f565b9850506040620001e08c828d016200015f565b9750506060620001f38c828d016200015f565b9650506080620002068c828d0162000172565b95505060a0620002198c828d0162000172565b94505060c06200022c8c828d0162000172565b93505060e06200023f8c828d016200015f565b925050610100620002538c828d0162000172565b9150509295985092959850929598565b6200026e8162000324565b82525050565b6200026e81620002fb565b60006200028e601983620002f2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002ca828562000263565b620002d9602083018462000274565b9392505050565b602080825281016200016c816200027f565b90815260200190565b60006200016c8262000318565b90565b60006200016c82620002fb565b6001600160a01b031690565b60006200016c826200030b565b6200033c81620002fb565b81146200034857600080fd5b50565b6200033c8162000308565b6200033c816200030b565b615c4b80620003716000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c80637418536011610151578063b562a1ab116100c3578063d2b8035a11610087578063d2b8035a146104be578063dac8cf68146104d1578063de81eda9146104e4578063e74337c6146104f7578063eb8e3b651461050a578063f93451ed1461051257610269565b8063b562a1ab14610480578063ba2de9bc14610488578063c19d93fb14610490578063cd28502014610498578063d0ebdbe7146104ab57610269565b80638cd2e0c7116101155780638cd2e0c7146104245780638da5cb5b1461043757806390abb4d91461043f578063925ead1114610452578063a76cdfa51461045a578063b094f2c41461046d57610269565b806374185360146103d957806379ba5097146103e15780637e132355146103e9578063883a2209146103fc578063899ffef41461040f57610269565b80632af64bd3116101ea578063441a3e70116101ae578063441a3e701461037d578063481c6a75146103905780634c17ace41461039857806353a47bb7146103ab57806355bd615c146103b35780635eb2ad01146103c657610269565b80632af64bd31461034a578063361e20861461035257806337551ec61461035a5780633cc3ffc71461036d5780634065b81b1461037557610269565b80630e54a19b116102315780630e54a19b146102e75780630efe6a8b1461030757806310cfe9061461031a57806315aaf4dd1461032f5780631627540c1461033757610269565b806304f3bcec1461026e5780630710285c1461028c5780630a153c97146102a15780630aebeb4e146102c15780630cdd1c65146102d4575b600080fd5b610276610525565b60405161028391906158b7565b60405180910390f35b61029f61029a366004614cbb565b610534565b005b6102b46102af366004614e02565b6105e0565b6040516102839190615852565b61029f6102cf366004614de4565b61071c565b61029f6102e2366004614de4565b6107c5565b6102fa6102f5366004614d08565b6108b0565b6040516102839190615844565b61029f610315366004614cbb565b610972565b610322610aba565b604051610283919061579d565b6102b4610ace565b61029f610345366004614c45565b610ad4565b6102fa610b27565b6102b4610c3f565b6102b4610368366004614de4565b610c45565b6102b4610c63565b6102fa610c69565b61029f61038b366004614e02565b610c72565b610322610c8b565b61029f6103a6366004614de4565b610c9a565b610322610d76565b61029f6103c1366004614d08565b610d85565b61029f6103d4366004614c81565b610e45565b61029f610e7b565b61029f610fd1565b6102b46103f7366004614e02565b61106d565b6102b461040a366004614de4565b611116565b61041761113b565b6040516102839190615833565b61029f610432366004614cbb565b6112a0565b6103226112b1565b61029f61044d366004614d78565b6112c0565b6102b461130c565b61029f610468366004614de4565b611312565b6102b461047b366004614de4565b61134f565b6102b4611374565b6102b461137a565b610276611380565b6102b46104a6366004614de4565b61138f565b61029f6104b9366004614c45565b6113a1565b61029f6104cc366004614e02565b6113fa565b6102b46104df366004614e21565b611404565b6103226104f2366004614de4565b61155d565b6102b4610505366004614e21565b611578565b6102b4611862565b61029f610520366004614e9c565b611868565b6002546001600160a01b031681565b60006105418484846119b9565b9050600061054e8261134f565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb9061058690339085906004016157fc565b602060405180830381600087803b1580156105a057600080fd5b505af11580156105b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d89190810190614d96565b505050505050565b6000806105eb611d84565b90506105f5611e36565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b81526004016106269392919061589c565b60206040518083038186803b15801561063e57600080fd5b505afa158015610652573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106769190810190614e5f565b91506107146107078273__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c357600080fd5b505af41580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106fb9190810190614e5f565b9063ffffffff611e5116565b839063ffffffff611e7f16565b949350505050565b60006107283383611ea9565b905060006107358261134f565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb9061076d90339085906004016157fc565b602060405180830381600087803b15801561078757600080fd5b505af115801561079b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107bf9190810190614d96565b50505050565b6107cd612374565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561081157600080fd5b505af4158015610825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108499190810190614e5f565b81116108705760405162461bcd60e51b8152600401610867906158e6565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906108a5908390615852565b60405180910390a150565b60075460009084146108c457506000610714565b60005b848110156109665760008686838181106108dd57fe5b90506020020135905080600783815481106108f457fe5b90600052602060002001541461090f57600092505050610714565b6007828154811061091c57fe5b90600052602060002001546008600087878681811061093757fe5b905060200201358152602001908152602001600020541461095d57600092505050610714565b506001016108c7565b50600195945050505050565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e906109a890339030906004016157b9565b60206040518083038186803b1580156109c057600080fd5b505afa1580156109d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109f89190810190614e5f565b811115610a175760405162461bcd60e51b815260040161086790615926565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd90610a4f903390309086906004016157d4565b602060405180830381600087803b158015610a6957600080fd5b505af1158015610a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa19190810190614d96565b506000610aad82611116565b90506107bf8484836123a0565b600f5461010090046001600160a01b031681565b600e5481565b610adc612374565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108a590839061579d565b60006060610b3361113b565b905060005b8151811015610c35576000828281518110610b4f57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610ba0908590600401615852565b60206040518083038186803b158015610bb857600080fd5b505afa158015610bcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bf09190810190614c63565b6001600160a01b0316141580610c1b57506000818152600360205260409020546001600160a01b0316155b15610c2c5760009350505050610c3c565b50600101610b38565b5060019150505b90565b600c5481565b60078181548110610c5257fe5b600091825260209091200154905081565b60105481565b600f5460ff1681565b6000610c7d82611116565b905060006105418483612597565b6006546001600160a01b031681565b610ca2612374565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ce657600080fd5b505af4158015610cfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d1e9190810190614e5f565b610e1002811115610d415760405162461bcd60e51b8152600401610867906159f6565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906108a5908390615852565b6001546001600160a01b031681565b610d8d612374565b828114610dac5760405162461bcd60e51b8152600401610867906158d6565b60005b83811015610e3c576000858583818110610dc557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610e1957fe5b602090810292909201358352508101919091526040016000205550600101610daf565b506107bf610e7b565b610e4d612374565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6060610e8561113b565b905060005b8151811015610fcd576000828281518110610ea157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610ee39190615792565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610f0f92919061587c565b60206040518083038186803b158015610f2757600080fd5b505afa158015610f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f5f9190810190614c63565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610fbb9084908490615860565b60405180910390a15050600101610e8a565b5050565b6001546001600160a01b03163314610ffb5760405162461bcd60e51b815260040161086790615916565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261103e926001600160a01b0391821692911690615817565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061110f61107a611e36565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b81526004016110ab9392919061589c565b60206040518083038186803b1580156110c357600080fd5b505afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110fb9190810190614e5f565b61110361279a565b9063ffffffff611e7f16565b9392505050565b600080611126601260105461282a565b600a0a905061110f838263ffffffff61285216565b60608061114661288c565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061118557fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106111af57fe5b6020026020010181815250506822bc31b430b733b2b960b91b816002815181106111d557fe5b6020026020010181815250506b53797374656d53746174757360a01b816003815181106111fe57fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b8160048151811061122457fe5b602002602001018181525050606061123c83836128dd565b905061129881600780548060200260200160405190810160405280929190818152602001828054801561128e57602002820191906000526020600020905b81548152602001906001019080831161127a575b50505050506128dd565b935050505090565b6112ac83338484612999565b505050565b6000546001600160a01b031681565b6112c8612374565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108a59160ff90911690615844565b600a5481565b61131a612374565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906108a5908390615852565b60008061135f601260105461282a565b600a0a905061110f838263ffffffff612cba16565b60045481565b600b5481565b6005546001600160a01b031681565b60086020526000908152604090205481565b6113a9612374565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926108a592169061579d565b610fcd8282612cef565b60008061140f611e36565b6001600160a01b031663654a60ac6004548560400151631c1554d160e21b6040518463ffffffff1660e01b815260040161144b9392919061589c565b60206040518083038186803b15801561146357600080fd5b505afa158015611477573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061149b9190810190614e5f565b905060006114a7611e36565b6001600160a01b031663654a60ac85606001516114d58760c001518860800151611e5190919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016114fb9392919061589c565b60206040518083038186803b15801561151357600080fd5b505afa158015611527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061154b9190810190614e5f565b9050610714828263ffffffff61321516565b6009602052600090815260409020546001600160a01b031681565b600080611583611d84565b9050600061158f611e36565b6001600160a01b031663654a60ac85606001516115bd8760c001518860800151611e5190919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016115e39392919061589c565b60206040518083038186803b1580156115fb57600080fd5b505afa15801561160f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116339190810190614e5f565b9050600061163f611e36565b6001600160a01b031663654a60ac6004548760400151631c1554d160e21b6040518463ffffffff1660e01b815260040161167b9392919061589c565b60206040518083038186803b15801561169357600080fd5b505afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116cb9190810190614e5f565b9050600073__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561171357600080fd5b505af4158015611727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061174b9190810190614e5f565b90506000611774611767600a548561321590919063ffffffff16565b859063ffffffff61282a16565b905060006117ad6117a0600a546117948987611e5190919063ffffffff16565b9063ffffffff61321516565b849063ffffffff61282a16565b905060006117c1838363ffffffff61321516565b90506117cb611e36565b6001600160a01b031663654a60ac631c1554d160e21b838c606001516040518463ffffffff1660e01b81526004016118059392919061589c565b60206040518083038186803b15801561181d57600080fd5b505afa158015611831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118559190810190614e5f565b9998505050505050505050565b600d5481565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e9061189e90339030906004016157b9565b60206040518083038186803b1580156118b657600080fd5b505afa1580156118ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118ee9190810190614e5f565b83111561190d5760405162461bcd60e51b815260040161086790615926565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd90611945903390309088906004016157d4565b602060405180830381600087803b15801561195f57600080fd5b505af1158015611973573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119979190810190614d96565b5060006119a384611116565b90506119b2818484600061323f565b5050505050565b60006119c36139ce565b6119cb613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a0357600080fd5b505afa158015611a17573d6000803e3d6000fd5b5050505060008211611a3b5760405162461bcd60e51b815260040161086790615946565b611a436149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611a759088908890600401615825565b6101206040518083038186803b158015611a8e57600080fd5b505afa158015611aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ac69190810190614e40565b9050611ad181613a8a565b611ada81613aea565b9050611aeb33826060015185613fd6565b600a54611af782611404565b10611b145760405162461bcd60e51b815260040161086790615976565b6000611b1f82611578565b90506000848210611b305784611b32565b815b90506000611b518460c001518560800151611e5190919063ffffffff16565b9050808210611b7057611b65883386614089565b94505050505061110f565b611b7a8483614458565b9350611b8a8460600151836105e0565b6040850151909550611ba2908663ffffffff61282a16565b604085015242610100850152611bb661467b565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611be79291906157fc565b60206040518083038186803b158015611bff57600080fd5b505afa158015611c13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c379190810190614d96565b15611c545760405162461bcd60e51b815260040161086790615a96565b6060840151600090815260086020526040902054611c7190614692565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611c9e9291906157fc565b600060405180830381600087803b158015611cb857600080fd5b505af1158015611ccc573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611d00908790600401615aa6565b600060405180830381600087803b158015611d1a57600080fd5b505af1158015611d2e573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611d719493929190615ab5565b60405180910390a2505050509392505050565b6000611d8e61469d565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611de192919061586e565b60206040518083038186803b158015611df957600080fd5b505afa158015611e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e319190810190614e5f565b905090565b6000611e316c45786368616e6765526174657360981b6146b6565b600082820183811015611e765760405162461bcd60e51b815260040161086790615956565b90505b92915050565b6000670de0b6b3a7640000611e9a848463ffffffff61285216565b81611ea157fe5b049392505050565b6000611eb36139ce565b611ebb613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611ef357600080fd5b505afa158015611f07573d6000803e3d6000fd5b50505050611f136149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611f459087908790600401615825565b6101206040518083038186803b158015611f5e57600080fd5b505afa158015611f72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f969190810190614e40565b9050611fa181613a8a565b611faa81613aea565b90506000611fc98260c001518360800151611e5190919063ffffffff16565b9050611fde8260200151836060015183613fd6565b611fe661467b565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b8152600401612017929190615825565b60206040518083038186803b15801561202f57600080fd5b505afa158015612043573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120679190810190614d96565b156120845760405162461bcd60e51b8152600401610867906159a6565b60608201516000908152600860205260409020546120a190614692565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016120ce929190615825565b600060405180830381600087803b1580156120e857600080fd5b505af11580156120fc573d6000803e3d6000fd5b505050508160a001511561221a57612112614713565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161214792919061586e565b600060405180830381600087803b15801561216157600080fd5b505af1158015612175573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b03161561221557606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916121e2918991600401615825565b600060405180830381600087803b1580156121fc57600080fd5b505af1158015612210573d6000803e3d6000fd5b505050505b61228a565b612222614713565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161225792919061586e565b600060405180830381600087803b15801561227157600080fd5b505af1158015612285573d6000803e3d6000fd5b505050505b816040015192506122a38260c001518360600151614722565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c906122f9908590600401615aa6565b600060405180830381600087803b15801561231357600080fd5b505af1158015612327573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f856040516123649190615852565b60405180910390a2505092915050565b6000546001600160a01b0316331461239e5760405162461bcd60e51b815260040161086790615a26565b565b6123a86139ce565b6123b0613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156123e857600080fd5b505afa1580156123fc573d6000803e3d6000fd5b50505050600081116124205760405162461bcd60e51b815260040161086790615a56565b6124286149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061245a9087908790600401615825565b6101206040518083038186803b15801561247357600080fd5b505afa158015612487573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124ab9190810190614e40565b90506124b681613a8a565b6124bf81613aea565b60408101519091506124d7908363ffffffff611e5116565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612516908490600401615aa6565b600060405180830381600087803b15801561253057600080fd5b505af1158015612544573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c848484604001516040516125899392919061589c565b60405180910390a250505050565b60006125a16139ce565b6125a9613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156125e157600080fd5b505afa1580156125f5573d6000803e3d6000fd5b505050506126016149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061263390339088906004016157fc565b6101206040518083038186803b15801561264c57600080fd5b505afa158015612660573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126849190810190614e40565b905061268f81613a8a565b61269881613aea565b60408101519091506126b0908463ffffffff61282a16565b604082015242610100820152600a546126c882611404565b116126e55760405162461bcd60e51b8152600401610867906158f6565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612715908490600401615aa6565b600060405180830381600087803b15801561272f57600080fd5b505af1158015612743573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f33038585846040015160405161278b9392919061589c565b60405180910390a25092915050565b6000611e31600a5473__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156127e657600080fd5b505af41580156127fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061281e9190810190614e5f565b9063ffffffff61490616565b60008282111561284c5760405162461bcd60e51b8152600401610867906159b6565b50900390565b60008261286157506000611e79565b8282028284828161286e57fe5b0414611e765760405162461bcd60e51b815260040161086790615a36565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106128ce57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561290d578160200160208202803883390190505b50905060005b835181101561294f5783818151811061292857fe5b602002602001015182828151811061293c57fe5b6020908102919091010152600101612913565b5060005b82518110156129925782818151811061296857fe5b602002602001015182828651018151811061297f57fe5b6020908102919091010152600101612953565b5092915050565b6129a16139ce565b6129a9613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156129e157600080fd5b505afa1580156129f5573d6000803e3d6000fd5b5050505060008111612a195760405162461bcd60e51b815260040161086790615946565b612a216149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612a539088908790600401615825565b6101206040518083038186803b158015612a6c57600080fd5b505afa158015612a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612aa49190810190614e40565b9050612aaf81613a8a565b612ab881613aea565b9050612ac984826060015184613fd6565b612ad38183614458565b426101008201529050612ae461467b565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612b15929190615825565b60206040518083038186803b158015612b2d57600080fd5b505afa158015612b41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b659190810190614d96565b15612b825760405162461bcd60e51b815260040161086790615a96565b6060810151600090815260086020526040902054612b9f90614692565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612bcc929190615825565b600060405180830381600087803b158015612be657600080fd5b505af1158015612bfa573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612c2e908490600401615aa6565b600060405180830381600087803b158015612c4857600080fd5b505af1158015612c5c573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612cab9392919061589c565b60405180910390a35050505050565b6000808211612cdb5760405162461bcd60e51b8152600401610867906159c6565b6000828481612ce657fe5b04949350505050565b612cf76139ce565b612cff613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612d3757600080fd5b505afa158015612d4b573d6000803e3d6000fd5b50505050612d576149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612d8990339087906004016157fc565b6101206040518083038186803b158015612da257600080fd5b505afa158015612db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612dda9190810190614e40565b9050612de581613a8a565b612dee81613aea565b6080810151909150612e06908363ffffffff611e5116565b6080820152600a54612e1782611404565b11612e345760405162461bcd60e51b815260040161086790615906565b6000612e4b600c548461491b90919063ffffffff16565b90506000612e5f848363ffffffff61282a16565b90508260a001511561306c57612e73614713565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401612ea492919061586e565b600060405180830381600087803b158015612ebe57600080fd5b505af1158015612ed2573d6000803e3d6000fd5b50505050612ede614930565b6001600160a01b031663867904b433612ef5611e36565b6001600160a01b031663654a60ac876060015186631c1554d160e21b6040518463ffffffff1660e01b8152600401612f2f9392919061589c565b60206040518083038186803b158015612f4757600080fd5b505afa158015612f5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f7f9190810190614e5f565b6040518363ffffffff1660e01b8152600401612f9c9291906157fc565b600060405180830381600087803b158015612fb657600080fd5b505af1158015612fca573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156130675760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a519061303490339088906004016157fc565b600060405180830381600087803b15801561304e57600080fd5b505af1158015613062573d6000803e3d6000fd5b505050505b613154565b613074614713565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b81526004016130a592919061586e565b600060405180830381600087803b1580156130bf57600080fd5b505af11580156130d3573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546130f49150614692565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016131219291906157fc565b600060405180830381600087803b15801561313b57600080fd5b505af115801561314f573d6000803e3d6000fd5b505050505b613162828460600151614722565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613199908690600401615aa6565b600060405180830381600087803b1580156131b357600080fd5b505af11580156131c7573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654868660405161320692919061586e565b60405180910390a25050505050565b600061110f8261323385670de0b6b3a764000063ffffffff61285216565b9063ffffffff612cba16565b60006132496139ce565b613251613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561328957600080fd5b505afa15801561329d573d6000803e3d6000fd5b5050600f5460ff1691506132c590505760405162461bcd60e51b8152600401610867906159e6565b6000838152600860205260409020546132f05760405162461bcd60e51b815260040161086790615a46565b6132f8611e36565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016133239190615852565b60206040518083038186803b15801561333b57600080fd5b505afa15801561334f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133739190810190614d96565b156133905760405162461bcd60e51b815260040161086790615996565b600b548510156133b25760405162461bcd60e51b815260040161086790615986565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc906133e59033906004016157ab565b60206040518083038186803b1580156133fd57600080fd5b505afa158015613411573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134359190810190614e5f565b106134525760405162461bcd60e51b815260040161086790615966565b60008061345d614713565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b815260040161348a92919061586e565b604080518083038186803b1580156134a157600080fd5b505afa1580156134b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134d99190810190614db4565b915091508180156134e8575080155b6135045760405162461bcd60e51b815260040161086790615a66565b61350e878661106d565b86111561352d5760405162461bcd60e51b815260040161086790615a16565b6000613544600c548861491b90919063ffffffff16565b90506000613558888363ffffffff61282a16565b9050613562614713565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561359c57600080fd5b505af11580156135b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135d49190810190614e5f565b94506135de6149bf565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a81526020018815158152602001600081526020016000815260200142815250905061363681613aea565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490613667908490600401615aa6565b600060405180830381600087803b15801561368157600080fd5b505af1158015613695573d6000803e3d6000fd5b505050506136a38389614722565b8615613899576136b1614930565b6001600160a01b031663867904b4336136c8611e36565b6001600160a01b031663654a60ac8c87631c1554d160e21b6040518463ffffffff1660e01b81526004016136fe9392919061589c565b60206040518083038186803b15801561371657600080fd5b505afa15801561372a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061374e9190810190614e5f565b6040518363ffffffff1660e01b815260040161376b9291906157fc565b600060405180830381600087803b15801561378557600080fd5b505af1158015613799573d6000803e3d6000fd5b505050506137a5614713565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b81526004016137d292919061586e565b600060405180830381600087803b1580156137ec57600080fd5b505af1158015613800573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613894576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906138619033908d906004016157fc565b600060405180830381600087803b15801561387b57600080fd5b505af115801561388f573d6000803e3d6000fd5b505050505b613978565b6000888152600860205260409020546138b190614692565b6001600160a01b031663867904b433846040518363ffffffff1660e01b81526004016138de9291906157fc565b600060405180830381600087803b1580156138f857600080fd5b505af115801561390c573d6000803e3d6000fd5b50505050613918614713565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b815260040161394592919061586e565b600060405180830381600087803b15801561395f57600080fd5b505af1158015613973573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c886040516139b9959493929190615af3565b60405180910390a25050505050949350505050565b6139d6611e36565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401613a039190615852565b60206040518083038186803b158015613a1b57600080fd5b505afa158015613a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a539190810190614d96565b1561239e5760405162461bcd60e51b815260040161086790615a06565b6000611e316b53797374656d53746174757360a01b6146b6565b60008160e0015111613aae5760405162461bcd60e51b815260040161086790615a76565b42613ac9600e54836101000151611e5190919063ffffffff16565b1115613ae75760405162461bcd60e51b815260040161086790615936565b50565b613af26149bf565b8190506000806000808560a00151613b9057613b0c614713565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613b3b9190615852565b60806040518083038186803b158015613b5357600080fd5b505afa158015613b67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b8b9190810190614ebd565b613c1d565b613b98614713565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613bcd92919061586e565b60806040518083038186803b158015613be557600080fd5b505afa158015613bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c1d9190810190614ebd565b93509350935093506000808760a00151613cad57613c39614713565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613c7057600080fd5b505afa158015613c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ca89190810190614e7d565b613d45565b613cb5614713565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613cf691600401615852565b604080518083038186803b158015613d0d57600080fd5b505afa158015613d21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d459190810190614e7d565b915091508015613d675760405162461bcd60e51b8152600401610867906159d6565b6000613e0473__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613db057600080fd5b505af4158015613dc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613de89190810190614e5f565b613df8428863ffffffff61282a16565b9063ffffffff61285216565b90506000613e28613e1b858463ffffffff611e7f16565b889063ffffffff611e5116565b905060008a60e00151600014613e6157613e5c613e4b838b63ffffffff61282a16565b60808d01519063ffffffff611e7f16565b613e64565b60005b90508a60a00151613ed957613e77614713565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b8152600401613ea29190615852565b600060405180830381600087803b158015613ebc57600080fd5b505af1158015613ed0573d6000803e3d6000fd5b50505050613f45565b613ee1614713565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401613f1292919061586e565b600060405180830381600087803b158015613f2c57600080fd5b505af1158015613f40573d6000803e3d6000fd5b505050505b60c08b0151613f5a908263ffffffff611e5116565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613f96908d90600401615aa6565b600060405180830381600087803b158015613fb057600080fd5b505af1158015613fc4573d6000803e3d6000fd5b50505050505050505050505050919050565b6000828152600860205260409020548190613ff090614692565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161401b919061579d565b60206040518083038186803b15801561403357600080fd5b505afa158015614047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061406b9190810190614e5f565b10156112ac5760405162461bcd60e51b815260040161086790615a86565b6000806140a78360c001518460800151611e5190919063ffffffff16565b6080840151604085015193509091506140be61467b565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016140ef929190615825565b60206040518083038186803b15801561410757600080fd5b505afa15801561411b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061413f9190810190614d96565b1561415c5760405162461bcd60e51b815260040161086790615a96565b606084015160009081526008602052604090205461417990614692565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b81526004016141a6929190615825565b600060405180830381600087803b1580156141c057600080fd5b505af11580156141d4573d6000803e3d6000fd5b505050508360a00151156142f2576141ea614713565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b815260040161421f92919061586e565b600060405180830381600087803b15801561423957600080fd5b505af115801561424d573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b0316156142ed57606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916142ba918a91600401615825565b600060405180830381600087803b1580156142d457600080fd5b505af11580156142e8573d6000803e3d6000fd5b505050505b614362565b6142fa614713565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b815260040161432f92919061586e565b600060405180830381600087803b15801561434957600080fd5b505af115801561435d573d6000803e3d6000fd5b505050505b6143748460c001518560600151614722565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c906143ca908790600401615aa6565b600060405180830381600087803b1580156143e457600080fd5b505af11580156143f8573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516144479392919061589c565b60405180910390a350509392505050565b6144606149bf565b50818115801590614475575060008360c00151115b156144d25760008360c00151831161448d5782614493565b8360c001515b60c08501519091506144ab908263ffffffff61282a16565b60c08301526144c0838263ffffffff61282a16565b92506144d0818560600151614722565b505b8115611e795760808301516144ed908363ffffffff61282a16565b608082015260a08101511561460a57614504614713565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b815260040161453592919061586e565b600060405180830381600087803b15801561454f57600080fd5b505af1158015614563573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b0316156146055760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916145d2919086906004016157fc565b600060405180830381600087803b1580156145ec57600080fd5b505af1158015614600573d6000803e3d6000fd5b505050505b611e79565b614612614713565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b815260040161464392919061586e565b600060405180830381600087803b15801561465d57600080fd5b505af1158015614671573d6000803e3d6000fd5b5050505092915050565b6000611e316822bc31b430b733b2b960b91b6146b6565b6000611e79826146b6565b6000611e316e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b0390911691821515916146e691869101615772565b604051602081830303815290604052906129925760405162461bcd60e51b815260040161086791906158c5565b6006546001600160a01b031690565b8115610fcd57631c1554d160e21b81146147c75761473e611e36565b6001600160a01b031663654a60ac8284631c1554d160e21b6040518463ffffffff1660e01b81526004016147749392919061589c565b60206040518083038186803b15801561478c57600080fd5b505afa1580156147a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506147c49190810190614e5f565b91505b6147cf614930565b6001600160a01b031663867904b46147e5614947565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561481d57600080fd5b505afa158015614831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506148559190810190614c63565b846040518363ffffffff1660e01b8152600401614873929190615825565b600060405180830381600087803b15801561488d57600080fd5b505af11580156148a1573d6000803e3d6000fd5b505050506148ad614947565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b81526004016148d89190615852565b600060405180830381600087803b1580156148f257600080fd5b505af11580156105d8573d6000803e3d6000fd5b600061110f8383670de0b6b3a764000061495c565b600061110f8383670de0b6b3a7640000614994565b6000611e3168141e5b9d1a1c1554d160ba1b6146b6565b6000611e3166119959541bdbdb60ca1b6146b6565b6000806149768461323387600a870263ffffffff61285216565b90506005600a825b061061498857600a015b600a9004949350505050565b600080600a83046149ab868663ffffffff61285216565b816149b257fe5b0490506005600a8261497e565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611e7981615be2565b8051611e7981615be2565b60008083601f840112614a4157600080fd5b50813567ffffffffffffffff811115614a5957600080fd5b602083019150836020820283011115614a7157600080fd5b9250929050565b8035611e7981615bf6565b8051611e7981615bf6565b8035611e7981615bff565b8051611e7981615bff565b60006101208284031215614ab757600080fd5b614ac2610120615b3f565b90506000614ad08484614a8e565b8252506020614ae184848301614a19565b6020830152506040614af584828501614a8e565b6040830152506060614b0984828501614a8e565b6060830152506080614b1d84828501614a8e565b60808301525060a0614b3184828501614a78565b60a08301525060c0614b4584828501614a8e565b60c08301525060e0614b5984828501614a8e565b60e083015250610100614b6e84828501614a8e565b6101008301525092915050565b60006101208284031215614b8e57600080fd5b614b99610120615b3f565b90506000614ba78484614a99565b8252506020614bb884848301614a24565b6020830152506040614bcc84828501614a99565b6040830152506060614be084828501614a99565b6060830152506080614bf484828501614a99565b60808301525060a0614c0884828501614a83565b60a08301525060c0614c1c84828501614a99565b60c08301525060e0614c3084828501614a99565b60e083015250610100614b6e84828501614a99565b600060208284031215614c5757600080fd5b60006107148484614a19565b600060208284031215614c7557600080fd5b60006107148484614a24565b60008060408385031215614c9457600080fd5b6000614ca08585614a19565b9250506020614cb185828601614a8e565b9150509250929050565b600080600060608486031215614cd057600080fd5b6000614cdc8686614a19565b9350506020614ced86828701614a8e565b9250506040614cfe86828701614a8e565b9150509250925092565b60008060008060408587031215614d1e57600080fd5b843567ffffffffffffffff811115614d3557600080fd5b614d4187828801614a2f565b9450945050602085013567ffffffffffffffff811115614d6057600080fd5b614d6c87828801614a2f565b95989497509550505050565b600060208284031215614d8a57600080fd5b60006107148484614a78565b600060208284031215614da857600080fd5b60006107148484614a83565b60008060408385031215614dc757600080fd5b6000614dd38585614a83565b9250506020614cb185828601614a83565b600060208284031215614df657600080fd5b60006107148484614a8e565b60008060408385031215614e1557600080fd5b6000614ca08585614a8e565b60006101208284031215614e3457600080fd5b60006107148484614aa4565b60006101208284031215614e5357600080fd5b60006107148484614b7b565b600060208284031215614e7157600080fd5b60006107148484614a99565b60008060408385031215614e9057600080fd5b6000614dd38585614a99565b600080600060608486031215614eb157600080fd5b6000614cdc8686614a8e565b60008060008060808587031215614ed357600080fd5b6000614edf8787614a99565b9450506020614ef087828801614a99565b9350506040614f0187828801614a99565b9250506060614f1287828801614a99565b91505092959194509250565b6000614f2a8383614fac565b505060200190565b614f3b81615b9a565b82525050565b614f3b81615b7e565b6000614f5582615b6c565b614f5f8185615b70565b9350614f6a83615b66565b8060005b83811015614f98578151614f828882614f1e565b9750614f8d83615b66565b925050600101614f6e565b509495945050505050565b614f3b81615b89565b614f3b81610c3c565b614f3b614fc182610c3c565b610c3c565b614f3b81615ba1565b6000614fda82615b6c565b614fe48185615b70565b9350614ff4818560208601615bac565b614ffd81615bd8565b9093019392505050565b6000615014601b83615b70565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b600061504d601683615b70565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b600061507f600e83615b70565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b60006150a9601583615b70565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b60006150da603583615b70565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615131601983615b70565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b600061516a601d83615b70565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b60006151a3601e83615b70565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b60006151dc601b83615b70565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615215601283615b70565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b6000615243601e83615b70565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b600061527c601d83615b70565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b60006152b5601883615b70565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b60006152ee602083615b70565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b6000615327601e83615b70565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000615360601a83615b70565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615399601183615b79565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006153c6601183615b70565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b60006153f3601383615b70565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b6000615422600a83615b70565b6926b0bc1018903437bab960b11b815260200192915050565b6000615448601a83615b70565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615481601b83615b70565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b60006154ba602f83615b70565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061550b602183615b70565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061554e601f83615b70565b7f4e6f7420616c6c6f77656420746f20697373756520746869732070796e746800815260200192915050565b6000615587601e83615b70565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b60006155c0601a83615b70565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006155f9601983615b79565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615632601383615b70565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b6000615661601883615b70565b7f4e6f7420656e6f7567682070796e74682062616c616e63650000000000000000815260200192915050565b600061569a601b83615b70565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906156d88482614fac565b5060208201516156eb6020850182614f41565b5060408201516156fe6040850182614fac565b5060608201516157116060850182614fac565b5060808201516157246080850182614fac565b5060a082015161573760a0850182614fa3565b5060c082015161574a60c0850182614fac565b5060e082015161575d60e0850182614fac565b506101008201516107bf610100850182614fac565b600061577d8261538c565b91506157898284614fb5565b50602001919050565b600061577d826155ec565b60208101611e798284614f41565b60208101611e798284614f32565b604081016157c78285614f32565b61110f6020830184614f41565b606081016157e28286614f32565b6157ef6020830185614f41565b6107146040830184614fac565b6040810161580a8285614f32565b61110f6020830184614fac565b604081016157c78285614f41565b6040810161580a8285614f41565b6020808252810161110f8184614f4a565b60208101611e798284614fa3565b60208101611e798284614fac565b604081016157c78285614fac565b6040810161580a8285614fac565b6040810161588a8285614fac565b81810360208301526107148184614fcf565b606081016158aa8286614fac565b6157ef6020830185614fac565b60208101611e798284614fc6565b6020808252810161110f8184614fcf565b60208082528101611e7981615007565b60208082528101611e7981615040565b60208082528101611e7981615072565b60208082528101611e798161509c565b60208082528101611e79816150cd565b60208082528101611e7981615124565b60208082528101611e798161515d565b60208082528101611e7981615196565b60208082528101611e79816151cf565b60208082528101611e7981615208565b60208082528101611e7981615236565b60208082528101611e798161526f565b60208082528101611e79816152a8565b60208082528101611e79816152e1565b60208082528101611e798161531a565b60208082528101611e7981615353565b60208082528101611e79816153b9565b60208082528101611e79816153e6565b60208082528101611e7981615415565b60208082528101611e798161543b565b60208082528101611e7981615474565b60208082528101611e79816154ad565b60208082528101611e79816154fe565b60208082528101611e7981615541565b60208082528101611e798161557a565b60208082528101611e79816155b3565b60208082528101611e7981615625565b60208082528101611e7981615654565b60208082528101611e798161568d565b6101208101611e7982846156c6565b60808101615ac38287614fac565b615ad06020830186614f32565b615add6040830185614fac565b615aea6060830184614fac565b95945050505050565b60a08101615b018288614fac565b615b0e6020830187614fac565b615b1b6040830186614fac565b615b286060830185614fac565b615b356080830184614fac565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615b5e57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611e7982615b8e565b151590565b6001600160a01b031690565b6000611e79825b6000611e7982615b7e565b60005b83811015615bc7578181015183820152602001615baf565b838111156107bf5750506000910152565b601f01601f191690565b615beb81615b7e565b8114613ae757600080fd5b615beb81615b89565b615beb81610c3c56fea365627a7a723158209b0b5cbdc373b7c4a462da198ffd95ec5052720e3280b674622e2d673af9be6e6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract CollateralState",
							"name": "_state",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_manager",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_collateralKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minCollateral",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_underlyingContract",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_underlyingDecimals",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canOpenLoans",
							"type": "bool"
						}
					],
					"name": "CanOpenLoansUpdated",
					"type": "event",
					"signature": "0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountDeposited",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interactionDelay",
							"type": "uint256"
						}
					],
					"name": "InteractionDelayUpdated",
					"type": "event",
					"signature": "0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanClosedByLiquidation",
					"type": "event",
					"signature": "0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuanceFee",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanDrawnDown",
					"type": "event",
					"signature": "0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "repayer",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountRepaid",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountAfter",
							"type": "uint256"
						}
					],
					"name": "LoanRepaymentMade",
					"type": "event",
					"signature": "0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "manager",
							"type": "address"
						}
					],
					"name": "ManagerUpdated",
					"type": "event",
					"signature": "0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxLoansPerAccount",
							"type": "uint256"
						}
					],
					"name": "MaxLoansPerAccountUpdated",
					"type": "event",
					"signature": "0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCollateral",
							"type": "uint256"
						}
					],
					"name": "MinCollateralUpdated",
					"type": "event",
					"signature": "0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCratio",
							"type": "uint256"
						}
					],
					"name": "MinCratioRatioUpdated",
					"type": "event",
					"signature": "0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"
				},
				{
					"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": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4065b81b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aebeb4e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb562a1ab"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdac8cf68"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "collateralRedeemed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a153c97"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0efe6a8b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd2b8035a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15aaf4dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0710285c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe74337c6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481c6a75"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e132355"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxLoansPerAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb8e3b65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba2de9bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x925ead11"
				},
				{
					"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": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf93451ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37551ec6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "repay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8cd2e0c7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "scaleDownCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "scaledDown",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb094f2c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "scaleUpCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "scaledUp",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x883a2209"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_canOpenLoans",
							"type": "bool"
						}
					],
					"name": "setCanOpenLoans",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x90abb4d9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interactionDelay",
							"type": "uint256"
						}
					],
					"name": "setInteractionDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c17ace4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newManager",
							"type": "address"
						}
					],
					"name": "setManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0ebdbe7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						}
					],
					"name": "setMinCratio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0cdd1c65"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortingRewards",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xde81eda9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc19d93fb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "underlyingContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x10cfe906"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "underlyingContractDecimals",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3cc3ffc7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x441a3e70"
				}
			],
			"source": {
				"keccak256": "0x67d499913a561ae49fe08d3712963ab0e63a528a622f414abf1fe29505496156",
				"urls": [
					"bzz-raw://81f03fe3fc88d2a757f172d9517faed9f475dbc1bfb4fd3df102573df57d5596",
					"dweb:/ipfs/QmdL7491Mgyj2xXgFu7EEMfkcavoEAiKXM8CY8U6k7UsZm"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralErc20.sol": "CollateralErc20"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CollateralErc20.sol": {
						"keccak256": "0x67d499913a561ae49fe08d3712963ab0e63a528a622f414abf1fe29505496156",
						"urls": [
							"bzz-raw://81f03fe3fc88d2a757f172d9517faed9f475dbc1bfb4fd3df102573df57d5596",
							"dweb:/ipfs/QmdL7491Mgyj2xXgFu7EEMfkcavoEAiKXM8CY8U6k7UsZm"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralShort": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162005f3a38038062005f3a8339810160408190526200004c9162000167565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f906200028f565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d591849062000269565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b555062000310975050505050505050565b80516200014781620002e0565b92915050565b80516200014781620002fa565b8051620001478162000305565b600080600080600080600060e0888a0312156200018357600080fd5b6000620001918a8a6200015a565b9750506020620001a48a828b016200013a565b9650506040620001b78a828b016200013a565b9550506060620001ca8a828b016200013a565b9450506080620001dd8a828b016200014d565b93505060a0620001f08a828b016200014d565b92505060c0620002038a828b016200014d565b91505092959891949750929550565b6200021d81620002d3565b82525050565b6200021d81620002aa565b60006200023d601983620002a1565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b6040810162000279828562000212565b62000288602083018462000223565b9392505050565b6020808252810162000147816200022e565b90815260200190565b60006200014782620002c7565b90565b60006200014782620002aa565b6001600160a01b031690565b60006200014782620002ba565b620002eb81620002aa565b8114620002f757600080fd5b50565b620002eb81620002b7565b620002eb81620002ba565b615c1a80620003206000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c8063741853601161013b578063ba2de9bc116100b8578063dac8cf681161007c578063dac8cf681461048d578063de81eda9146104a0578063e74337c6146104b3578063eb8e3b65146104c6578063f93451ed146104ce57610248565b8063ba2de9bc14610444578063c19d93fb1461044c578063cd28502014610454578063d0ebdbe714610467578063d2b8035a1461047a57610248565b80638da5cb5b116100ff5780638da5cb5b1461040657806390abb4d91461040e578063925ead1114610421578063a76cdfa514610429578063b562a1ab1461043c57610248565b806374185360146103bb57806379ba5097146103c35780637e132355146103cb578063899ffef4146103de5780638cd2e0c7146103f357610248565b8063361e2086116101c95780634c17ace41161018d5780634c17ace41461036757806353a47bb71461037a57806355bd615c1461038257806356dc04a1146103955780635eb2ad01146103a857610248565b8063361e20861461031c57806337551ec6146103245780634065b81b14610337578063441a3e701461033f578063481c6a751461035257610248565b80630e54a19b116102105780630e54a19b146102c65780630efe6a8b146102e657806315aaf4dd146102f95780631627540c146103015780632af64bd31461031457610248565b806304f3bcec1461024d5780630710285c1461026b5780630a153c97146102805780630aebeb4e146102a05780630cdd1c65146102b3575b600080fd5b6102556104e1565b6040516102629190615886565b60405180910390f35b61027e610279366004614c5a565b6104f0565b005b61029361028e366004614dd1565b61058d565b6040516102629190615821565b61027e6102ae366004614d83565b6106c9565b61027e6102c1366004614d83565b610763565b6102d96102d4366004614ca7565b61084e565b6040516102629190615813565b61027e6102f4366004614c5a565b610910565b610293610a49565b61027e61030f366004614be4565b610a4f565b6102d9610aa2565b610293610bba565b610293610332366004614d83565b610bc0565b6102d9610bde565b61027e61034d366004614dd1565b610be7565b61035a610c82565b604051610262919061576c565b61027e610375366004614d83565b610c91565b61035a610d6d565b61027e610390366004614ca7565b610d7c565b61027e6103a3366004614da1565b610e3c565b61027e6103b6366004614c20565b610ecd565b61027e610f03565b61027e611055565b6102936103d9366004614dd1565b6110f1565b6103e661119a565b6040516102629190615802565b61027e610401366004614c5a565b6112ff565b61035a61130b565b61027e61041c366004614d17565b61131a565b610293611366565b61027e610437366004614d83565b61136c565b6102936113a9565b6102936113af565b6102556113b5565b610293610462366004614d83565b6113c4565b61027e610475366004614be4565b6113d6565b61027e610488366004614dd1565b61142f565b61029361049b366004614df0565b611439565b61035a6104ae366004614d83565b611592565b6102936104c1366004614df0565b6115ad565b610293611897565b61027e6104dc366004614e6b565b61189d565b6002546001600160a01b031681565b60006104fd848484611986565b9050610507611d51565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b81526004016105349291906157cb565b602060405180830381600087803b15801561054e57600080fd5b505af1158015610562573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105869190810190614d35565b5050505050565b600080610598611d6d565b90506105a2611e1a565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b81526004016105d39392919061586b565b60206040518083038186803b1580156105eb57600080fd5b505afa1580156105ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106239190810190614e2e565b91506106c16106b48273__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561067057600080fd5b505af4158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a89190810190614e2e565b9063ffffffff611e3516565b839063ffffffff611e6316565b949350505050565b60006106d53383611e8d565b90506106df611d51565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040161070c9291906157cb565b602060405180830381600087803b15801561072657600080fd5b505af115801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061075e9190810190614d35565b505050565b61076b612358565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107af57600080fd5b505af41580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107e79190810190614e2e565b811161080e5760405162461bcd60e51b8152600401610805906158b5565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a590610843908390615821565b60405180910390a150565b6007546000908414610862575060006106c1565b60005b8481101561090457600086868381811061087b57fe5b905060200201359050806007838154811061089257fe5b9060005260206000200154146108ad576000925050506106c1565b600782815481106108ba57fe5b9060005260206000200154600860008787868181106108d557fe5b90506020020135815260200190815260200160002054146108fb576000925050506106c1565b50600101610865565b50600195945050505050565b610918611d51565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b8152600401610945929190615788565b60206040518083038186803b15801561095d57600080fd5b505afa158015610971573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109959190810190614e2e565b8111156109b45760405162461bcd60e51b8152600401610805906158f5565b6109bc611d51565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b81526004016109eb939291906157a3565b602060405180830381600087803b158015610a0557600080fd5b505af1158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a3d9190810190614d35565b5061075e838383612384565b600e5481565b610a57612358565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061084390839061576c565b60006060610aae61119a565b905060005b8151811015610bb0576000828281518110610aca57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b1b908590600401615821565b60206040518083038186803b158015610b3357600080fd5b505afa158015610b47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b6b9190810190614c02565b6001600160a01b0316141580610b9657506000818152600360205260409020546001600160a01b0316155b15610ba75760009350505050610bb7565b50600101610ab3565b5060019150505b90565b600c5481565b60078181548110610bcd57fe5b600091825260209091200154905081565b600f5460ff1681565b6000610bf3838361257b565b9050610bfd611d51565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401610c2a9291906157cb565b602060405180830381600087803b158015610c4457600080fd5b505af1158015610c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c7c9190810190614d35565b50505050565b6006546001600160a01b031681565b610c99612358565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610cdd57600080fd5b505af4158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d159190810190614e2e565b610e1002811115610d385760405162461bcd60e51b8152600401610805906159c5565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c236190610843908390615821565b6001546001600160a01b031681565b610d84612358565b828114610da35760405162461bcd60e51b8152600401610805906158a5565b60005b83811015610e33576000858583818110610dbc57fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610e1057fe5b602090810292909201358352508101919091526040016000205550600101610da6565b50610c7c610f03565b6000828152600960205260409020546001600160a01b031615610ec95760008281526009602052604090819020549051630c00007b60e41b81526001600160a01b039091169063c00007b090610e9690849060040161576c565b600060405180830381600087803b158015610eb057600080fd5b505af1158015610ec4573d6000803e3d6000fd5b505050505b5050565b610ed5612358565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6060610f0d61119a565b905060005b8151811015610ec9576000828281518110610f2957fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610f6b9190615761565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610f9792919061584b565b60206040518083038186803b158015610faf57600080fd5b505afa158015610fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fe79190810190614c02565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890611043908490849061582f565b60405180910390a15050600101610f12565b6001546001600160a01b0316331461107f5760405162461bcd60e51b8152600401610805906158e5565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926110c2926001600160a01b03918216929116906157e6565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111936110fe611e1a565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b815260040161112f9392919061586b565b60206040518083038186803b15801561114757600080fd5b505afa15801561115b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061117f9190810190614e2e565b61118761277e565b9063ffffffff611e6316565b9392505050565b6060806111a561280e565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b816000815181106111e457fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061120e57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061123457fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061125d57fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b8160048151811061128357fe5b602002602001018181525050606061129b838361285f565b90506112f78160078054806020026020016040519081016040528092919081815260200182805480156112ed57602002820191906000526020600020905b8154815260200190600101908083116112d9575b505050505061285f565b935050505090565b61075e8333848461291b565b6000546001600160a01b031681565b611322612358565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108439160ff90911690615813565b600a5481565b611374612358565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c90610843908390615821565b60045481565b600b5481565b6005546001600160a01b031681565b60086020526000908152604090205481565b6113de612358565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d9261084392169061576c565b610ec98282612c3c565b600080611444611e1a565b6001600160a01b031663654a60ac6004548560400151631c1554d160e21b6040518463ffffffff1660e01b81526004016114809392919061586b565b60206040518083038186803b15801561149857600080fd5b505afa1580156114ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114d09190810190614e2e565b905060006114dc611e1a565b6001600160a01b031663654a60ac856060015161150a8760c001518860800151611e3590919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016115309392919061586b565b60206040518083038186803b15801561154857600080fd5b505afa15801561155c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115809190810190614e2e565b90506106c1828263ffffffff61316216565b6009602052600090815260409020546001600160a01b031681565b6000806115b8611d6d565b905060006115c4611e1a565b6001600160a01b031663654a60ac85606001516115f28760c001518860800151611e3590919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016116189392919061586b565b60206040518083038186803b15801561163057600080fd5b505afa158015611644573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116689190810190614e2e565b90506000611674611e1a565b6001600160a01b031663654a60ac6004548760400151631c1554d160e21b6040518463ffffffff1660e01b81526004016116b09392919061586b565b60206040518083038186803b1580156116c857600080fd5b505afa1580156116dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117009190810190614e2e565b9050600073__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561174857600080fd5b505af415801561175c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117809190810190614e2e565b905060006117a961179c600a548561316290919063ffffffff16565b859063ffffffff61318c16565b905060006117e26117d5600a546117c98987611e3590919063ffffffff16565b9063ffffffff61316216565b849063ffffffff61318c16565b905060006117f6838363ffffffff61316216565b9050611800611e1a565b6001600160a01b031663654a60ac631c1554d160e21b838c606001516040518463ffffffff1660e01b815260040161183a9392919061586b565b60206040518083038186803b15801561185257600080fd5b505afa158015611866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061188a9190810190614e2e565b9998505050505050505050565b600d5481565b6118a5611d51565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b81526004016118d2929190615788565b60206040518083038186803b1580156118ea57600080fd5b505afa1580156118fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119229190810190614e2e565b8311156119415760405162461bcd60e51b8152600401610805906158f5565b61194e83838360016131b4565b50611957611d51565b6001600160a01b03166323b872dd3330866040518463ffffffff1660e01b8152600401610c2a939291906157a3565b6000611990613943565b6119986139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119d057600080fd5b505afa1580156119e4573d6000803e3d6000fd5b5050505060008211611a085760405162461bcd60e51b815260040161080590615915565b611a1061495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611a4290889088906004016157f4565b6101206040518083038186803b158015611a5b57600080fd5b505afa158015611a6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a939190810190614e0f565b9050611a9e816139ff565b611aa781613a5f565b9050611ab833826060015185613f4b565b600a54611ac482611439565b10611ae15760405162461bcd60e51b815260040161080590615945565b6000611aec826115ad565b90506000848210611afd5784611aff565b815b90506000611b1e8460c001518560800151611e3590919063ffffffff16565b9050808210611b3d57611b32883386613ffe565b945050505050611193565b611b4784836143cd565b9350611b5784606001518361058d565b6040850151909550611b6f908663ffffffff61318c16565b604085015242610100850152611b836145f0565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611bb49291906157cb565b60206040518083038186803b158015611bcc57600080fd5b505afa158015611be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c049190810190614d35565b15611c215760405162461bcd60e51b815260040161080590615a65565b6060840151600090815260086020526040902054611c3e90614607565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611c6b9291906157cb565b600060405180830381600087803b158015611c8557600080fd5b505af1158015611c99573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611ccd908790600401615a75565b600060405180830381600087803b158015611ce757600080fd5b505af1158015611cfb573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611d3e9493929190615a84565b60405180910390a2505050509392505050565b6000611d6868141e5b9d1a1c1554d160ba1b61460e565b905090565b6000611d7761466b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611dca92919061583d565b60206040518083038186803b158015611de257600080fd5b505afa158015611df6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d689190810190614e2e565b6000611d686c45786368616e6765526174657360981b61460e565b600082820183811015611e5a5760405162461bcd60e51b815260040161080590615925565b90505b92915050565b6000670de0b6b3a7640000611e7e848463ffffffff61468816565b81611e8557fe5b049392505050565b6000611e97613943565b611e9f6139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611ed757600080fd5b505afa158015611eeb573d6000803e3d6000fd5b50505050611ef761495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611f2990879087906004016157f4565b6101206040518083038186803b158015611f4257600080fd5b505afa158015611f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f7a9190810190614e0f565b9050611f85816139ff565b611f8e81613a5f565b90506000611fad8260c001518360800151611e3590919063ffffffff16565b9050611fc28260200151836060015183613f4b565b611fca6145f0565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b8152600401611ffb9291906157f4565b60206040518083038186803b15801561201357600080fd5b505afa158015612027573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061204b9190810190614d35565b156120685760405162461bcd60e51b815260040161080590615975565b606082015160009081526008602052604090205461208590614607565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016120b29291906157f4565b600060405180830381600087803b1580156120cc57600080fd5b505af11580156120e0573d6000803e3d6000fd5b505050508160a00151156121fe576120f66146c2565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161212b92919061583d565b600060405180830381600087803b15801561214557600080fd5b505af1158015612159573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b0316156121f957606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916121c69189916004016157f4565b600060405180830381600087803b1580156121e057600080fd5b505af11580156121f4573d6000803e3d6000fd5b505050505b61226e565b6122066146c2565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161223b92919061583d565b600060405180830381600087803b15801561225557600080fd5b505af1158015612269573d6000803e3d6000fd5b505050505b816040015192506122878260c0015183606001516146d1565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c906122dd908590600401615a75565b600060405180830381600087803b1580156122f757600080fd5b505af115801561230b573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f856040516123489190615821565b60405180910390a2505092915050565b6000546001600160a01b031633146123825760405162461bcd60e51b8152600401610805906159f5565b565b61238c613943565b6123946139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156123cc57600080fd5b505afa1580156123e0573d6000803e3d6000fd5b50505050600081116124045760405162461bcd60e51b815260040161080590615a25565b61240c61495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061243e90879087906004016157f4565b6101206040518083038186803b15801561245757600080fd5b505afa15801561246b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061248f9190810190614e0f565b905061249a816139ff565b6124a381613a5f565b60408101519091506124bb908363ffffffff611e3516565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906124fa908490600401615a75565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161256d9392919061586b565b60405180910390a250505050565b6000612585613943565b61258d6139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156125c557600080fd5b505afa1580156125d9573d6000803e3d6000fd5b505050506125e561495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061261790339088906004016157cb565b6101206040518083038186803b15801561263057600080fd5b505afa158015612644573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126689190810190614e0f565b9050612673816139ff565b61267c81613a5f565b6040810151909150612694908463ffffffff61318c16565b604082015242610100820152600a546126ac82611439565b116126c95760405162461bcd60e51b8152600401610805906158c5565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c906126f9908490600401615a75565b600060405180830381600087803b15801561271357600080fd5b505af1158015612727573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f33038585846040015160405161276f9392919061586b565b60405180910390a25092915050565b6000611d68600a5473__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156127ca57600080fd5b505af41580156127de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128029190810190614e2e565b9063ffffffff61488716565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061285057fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561288f578160200160208202803883390190505b50905060005b83518110156128d1578381815181106128aa57fe5b60200260200101518282815181106128be57fe5b6020908102919091010152600101612895565b5060005b8251811015612914578281815181106128ea57fe5b602002602001015182828651018151811061290157fe5b60209081029190910101526001016128d5565b5092915050565b612923613943565b61292b6139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561296357600080fd5b505afa158015612977573d6000803e3d6000fd5b505050506000811161299b5760405162461bcd60e51b815260040161080590615915565b6129a361495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906129d590889087906004016157f4565b6101206040518083038186803b1580156129ee57600080fd5b505afa158015612a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a269190810190614e0f565b9050612a31816139ff565b612a3a81613a5f565b9050612a4b84826060015184613f4b565b612a5581836143cd565b426101008201529050612a666145f0565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612a979291906157f4565b60206040518083038186803b158015612aaf57600080fd5b505afa158015612ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ae79190810190614d35565b15612b045760405162461bcd60e51b815260040161080590615a65565b6060810151600090815260086020526040902054612b2190614607565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612b4e9291906157f4565b600060405180830381600087803b158015612b6857600080fd5b505af1158015612b7c573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612bb0908490600401615a75565b600060405180830381600087803b158015612bca57600080fd5b505af1158015612bde573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612c2d9392919061586b565b60405180910390a35050505050565b612c44613943565b612c4c6139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612c8457600080fd5b505afa158015612c98573d6000803e3d6000fd5b50505050612ca461495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612cd690339087906004016157cb565b6101206040518083038186803b158015612cef57600080fd5b505afa158015612d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d279190810190614e0f565b9050612d32816139ff565b612d3b81613a5f565b6080810151909150612d53908363ffffffff611e3516565b6080820152600a54612d6482611439565b11612d815760405162461bcd60e51b8152600401610805906158d5565b6000612d98600c548461489c90919063ffffffff16565b90506000612dac848363ffffffff61318c16565b90508260a0015115612fb957612dc06146c2565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401612df192919061583d565b600060405180830381600087803b158015612e0b57600080fd5b505af1158015612e1f573d6000803e3d6000fd5b50505050612e2b611d51565b6001600160a01b031663867904b433612e42611e1a565b6001600160a01b031663654a60ac876060015186631c1554d160e21b6040518463ffffffff1660e01b8152600401612e7c9392919061586b565b60206040518083038186803b158015612e9457600080fd5b505afa158015612ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ecc9190810190614e2e565b6040518363ffffffff1660e01b8152600401612ee99291906157cb565b600060405180830381600087803b158015612f0357600080fd5b505af1158015612f17573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b031615612fb45760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190612f8190339088906004016157cb565b600060405180830381600087803b158015612f9b57600080fd5b505af1158015612faf573d6000803e3d6000fd5b505050505b6130a1565b612fc16146c2565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b8152600401612ff292919061583d565b600060405180830381600087803b15801561300c57600080fd5b505af1158015613020573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546130419150614607565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040161306e9291906157cb565b600060405180830381600087803b15801561308857600080fd5b505af115801561309c573d6000803e3d6000fd5b505050505b6130af8284606001516146d1565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c906130e6908690600401615a75565b600060405180830381600087803b15801561310057600080fd5b505af1158015613114573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654868660405161315392919061583d565b60405180910390a25050505050565b60006111938261318085670de0b6b3a764000063ffffffff61468816565b9063ffffffff6148b116565b6000828211156131ae5760405162461bcd60e51b815260040161080590615985565b50900390565b60006131be613943565b6131c66139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156131fe57600080fd5b505afa158015613212573d6000803e3d6000fd5b5050600f5460ff16915061323a90505760405162461bcd60e51b8152600401610805906159b5565b6000838152600860205260409020546132655760405162461bcd60e51b815260040161080590615a15565b61326d611e1a565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016132989190615821565b60206040518083038186803b1580156132b057600080fd5b505afa1580156132c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132e89190810190614d35565b156133055760405162461bcd60e51b815260040161080590615965565b600b548510156133275760405162461bcd60e51b815260040161080590615955565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc9061335a90339060040161577a565b60206040518083038186803b15801561337257600080fd5b505afa158015613386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133aa9190810190614e2e565b106133c75760405162461bcd60e51b815260040161080590615935565b6000806133d26146c2565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b81526004016133ff92919061583d565b604080518083038186803b15801561341657600080fd5b505afa15801561342a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061344e9190810190614d53565b9150915081801561345d575080155b6134795760405162461bcd60e51b815260040161080590615a35565b61348387866110f1565b8611156134a25760405162461bcd60e51b8152600401610805906159e5565b60006134b9600c548861489c90919063ffffffff16565b905060006134cd888363ffffffff61318c16565b90506134d76146c2565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561351157600080fd5b505af1158015613525573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135499190810190614e2e565b945061355361495e565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a8152602001881515815260200160008152602001600081526020014281525090506135ab81613a5f565b60055460405163170cc48160e21b81529192506001600160a01b031690635c331204906135dc908490600401615a75565b600060405180830381600087803b1580156135f657600080fd5b505af115801561360a573d6000803e3d6000fd5b5050505061361883896146d1565b861561380e57613626611d51565b6001600160a01b031663867904b43361363d611e1a565b6001600160a01b031663654a60ac8c87631c1554d160e21b6040518463ffffffff1660e01b81526004016136739392919061586b565b60206040518083038186803b15801561368b57600080fd5b505afa15801561369f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136c39190810190614e2e565b6040518363ffffffff1660e01b81526004016136e09291906157cb565b600060405180830381600087803b1580156136fa57600080fd5b505af115801561370e573d6000803e3d6000fd5b5050505061371a6146c2565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b815260040161374792919061583d565b600060405180830381600087803b15801561376157600080fd5b505af1158015613775573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613809576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906137d69033908d906004016157cb565b600060405180830381600087803b1580156137f057600080fd5b505af1158015613804573d6000803e3d6000fd5b505050505b6138ed565b60008881526008602052604090205461382690614607565b6001600160a01b031663867904b433846040518363ffffffff1660e01b81526004016138539291906157cb565b600060405180830381600087803b15801561386d57600080fd5b505af1158015613881573d6000803e3d6000fd5b5050505061388d6146c2565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b81526004016138ba92919061583d565b600060405180830381600087803b1580156138d457600080fd5b505af11580156138e8573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c8860405161392e959493929190615ac2565b60405180910390a25050505050949350505050565b61394b611e1a565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016139789190615821565b60206040518083038186803b15801561399057600080fd5b505afa1580156139a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139c89190810190614d35565b156123825760405162461bcd60e51b8152600401610805906159d5565b6000611d686b53797374656d53746174757360a01b61460e565b60008160e0015111613a235760405162461bcd60e51b815260040161080590615a45565b42613a3e600e54836101000151611e3590919063ffffffff16565b1115613a5c5760405162461bcd60e51b815260040161080590615905565b50565b613a6761495e565b8190506000806000808560a00151613b0557613a816146c2565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613ab09190615821565b60806040518083038186803b158015613ac857600080fd5b505afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b009190810190614e8c565b613b92565b613b0d6146c2565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613b4292919061583d565b60806040518083038186803b158015613b5a57600080fd5b505afa158015613b6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b929190810190614e8c565b93509350935093506000808760a00151613c2257613bae6146c2565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613be557600080fd5b505afa158015613bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c1d9190810190614e4c565b613cba565b613c2a6146c2565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613c6b91600401615821565b604080518083038186803b158015613c8257600080fd5b505afa158015613c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613cba9190810190614e4c565b915091508015613cdc5760405162461bcd60e51b8152600401610805906159a5565b6000613d7973__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613d2557600080fd5b505af4158015613d39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d5d9190810190614e2e565b613d6d428863ffffffff61318c16565b9063ffffffff61468816565b90506000613d9d613d90858463ffffffff611e6316565b889063ffffffff611e3516565b905060008a60e00151600014613dd657613dd1613dc0838b63ffffffff61318c16565b60808d01519063ffffffff611e6316565b613dd9565b60005b90508a60a00151613e4e57613dec6146c2565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b8152600401613e179190615821565b600060405180830381600087803b158015613e3157600080fd5b505af1158015613e45573d6000803e3d6000fd5b50505050613eba565b613e566146c2565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401613e8792919061583d565b600060405180830381600087803b158015613ea157600080fd5b505af1158015613eb5573d6000803e3d6000fd5b505050505b60c08b0151613ecf908263ffffffff611e3516565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613f0b908d90600401615a75565b600060405180830381600087803b158015613f2557600080fd5b505af1158015613f39573d6000803e3d6000fd5b50505050505050505050505050919050565b6000828152600860205260409020548190613f6590614607565b6001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401613f90919061576c565b60206040518083038186803b158015613fa857600080fd5b505afa158015613fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613fe09190810190614e2e565b101561075e5760405162461bcd60e51b815260040161080590615a55565b60008061401c8360c001518460800151611e3590919063ffffffff16565b6080840151604085015193509091506140336145f0565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016140649291906157f4565b60206040518083038186803b15801561407c57600080fd5b505afa158015614090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140b49190810190614d35565b156140d15760405162461bcd60e51b815260040161080590615a65565b60608401516000908152600860205260409020546140ee90614607565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b815260040161411b9291906157f4565b600060405180830381600087803b15801561413557600080fd5b505af1158015614149573d6000803e3d6000fd5b505050508360a00151156142675761415f6146c2565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b815260040161419492919061583d565b600060405180830381600087803b1580156141ae57600080fd5b505af11580156141c2573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b03161561426257606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161422f918a916004016157f4565b600060405180830381600087803b15801561424957600080fd5b505af115801561425d573d6000803e3d6000fd5b505050505b6142d7565b61426f6146c2565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b81526004016142a492919061583d565b600060405180830381600087803b1580156142be57600080fd5b505af11580156142d2573d6000803e3d6000fd5b505050505b6142e98460c0015185606001516146d1565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c9061433f908790600401615a75565b600060405180830381600087803b15801561435957600080fd5b505af115801561436d573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516143bc9392919061586b565b60405180910390a350509392505050565b6143d561495e565b508181158015906143ea575060008360c00151115b156144475760008360c0015183116144025782614408565b8360c001515b60c0850151909150614420908263ffffffff61318c16565b60c0830152614435838263ffffffff61318c16565b92506144458185606001516146d1565b505b8115611e5d576080830151614462908363ffffffff61318c16565b608082015260a08101511561457f576144796146c2565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b81526004016144aa92919061583d565b600060405180830381600087803b1580156144c457600080fd5b505af11580156144d8573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b03161561457a5760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391614547919086906004016157cb565b600060405180830381600087803b15801561456157600080fd5b505af1158015614575573d6000803e3d6000fd5b505050505b611e5d565b6145876146c2565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b81526004016145b892919061583d565b600060405180830381600087803b1580156145d257600080fd5b505af11580156145e6573d6000803e3d6000fd5b5050505092915050565b6000611d686822bc31b430b733b2b960b91b61460e565b6000611e5d825b60008181526003602090815260408083205490516001600160a01b03909116918215159161463e91869101615741565b604051602081830303815290604052906129145760405162461bcd60e51b81526004016108059190615894565b6000611d686e466c657869626c6553746f7261676560881b61460e565b60008261469757506000611e5d565b828202828482816146a457fe5b0414611e5a5760405162461bcd60e51b815260040161080590615a05565b6006546001600160a01b031690565b8115610ec957631c1554d160e21b8114614776576146ed611e1a565b6001600160a01b031663654a60ac8284631c1554d160e21b6040518463ffffffff1660e01b81526004016147239392919061586b565b60206040518083038186803b15801561473b57600080fd5b505afa15801561474f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506147739190810190614e2e565b91505b61477e611d51565b6001600160a01b031663867904b46147946148e6565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b1580156147cc57600080fd5b505afa1580156147e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506148049190810190614c02565b846040518363ffffffff1660e01b81526004016148229291906157f4565b600060405180830381600087803b15801561483c57600080fd5b505af1158015614850573d6000803e3d6000fd5b5050505061485c6148e6565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401610e969190615821565b60006111938383670de0b6b3a76400006148fb565b60006111938383670de0b6b3a7640000614933565b60008082116148d25760405162461bcd60e51b815260040161080590615995565b60008284816148dd57fe5b04949350505050565b6000611d6866119959541bdbdb60ca1b61460e565b6000806149158461318087600a870263ffffffff61468816565b90506005600a825b061061492757600a015b600a9004949350505050565b600080600a830461494a868663ffffffff61468816565b8161495157fe5b0490506005600a8261491d565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611e5d81615bb1565b8051611e5d81615bb1565b60008083601f8401126149e057600080fd5b50813567ffffffffffffffff8111156149f857600080fd5b602083019150836020820283011115614a1057600080fd5b9250929050565b8035611e5d81615bc5565b8051611e5d81615bc5565b8035611e5d81615bce565b8051611e5d81615bce565b60006101208284031215614a5657600080fd5b614a61610120615b0e565b90506000614a6f8484614a2d565b8252506020614a80848483016149b8565b6020830152506040614a9484828501614a2d565b6040830152506060614aa884828501614a2d565b6060830152506080614abc84828501614a2d565b60808301525060a0614ad084828501614a17565b60a08301525060c0614ae484828501614a2d565b60c08301525060e0614af884828501614a2d565b60e083015250610100614b0d84828501614a2d565b6101008301525092915050565b60006101208284031215614b2d57600080fd5b614b38610120615b0e565b90506000614b468484614a38565b8252506020614b57848483016149c3565b6020830152506040614b6b84828501614a38565b6040830152506060614b7f84828501614a38565b6060830152506080614b9384828501614a38565b60808301525060a0614ba784828501614a22565b60a08301525060c0614bbb84828501614a38565b60c08301525060e0614bcf84828501614a38565b60e083015250610100614b0d84828501614a38565b600060208284031215614bf657600080fd5b60006106c184846149b8565b600060208284031215614c1457600080fd5b60006106c184846149c3565b60008060408385031215614c3357600080fd5b6000614c3f85856149b8565b9250506020614c5085828601614a2d565b9150509250929050565b600080600060608486031215614c6f57600080fd5b6000614c7b86866149b8565b9350506020614c8c86828701614a2d565b9250506040614c9d86828701614a2d565b9150509250925092565b60008060008060408587031215614cbd57600080fd5b843567ffffffffffffffff811115614cd457600080fd5b614ce0878288016149ce565b9450945050602085013567ffffffffffffffff811115614cff57600080fd5b614d0b878288016149ce565b95989497509550505050565b600060208284031215614d2957600080fd5b60006106c18484614a17565b600060208284031215614d4757600080fd5b60006106c18484614a22565b60008060408385031215614d6657600080fd5b6000614d728585614a22565b9250506020614c5085828601614a22565b600060208284031215614d9557600080fd5b60006106c18484614a2d565b60008060408385031215614db457600080fd5b6000614dc08585614a2d565b9250506020614c50858286016149b8565b60008060408385031215614de457600080fd5b6000614c3f8585614a2d565b60006101208284031215614e0357600080fd5b60006106c18484614a43565b60006101208284031215614e2257600080fd5b60006106c18484614b1a565b600060208284031215614e4057600080fd5b60006106c18484614a38565b60008060408385031215614e5f57600080fd5b6000614d728585614a38565b600080600060608486031215614e8057600080fd5b6000614c7b8686614a2d565b60008060008060808587031215614ea257600080fd5b6000614eae8787614a38565b9450506020614ebf87828801614a38565b9350506040614ed087828801614a38565b9250506060614ee187828801614a38565b91505092959194509250565b6000614ef98383614f7b565b505060200190565b614f0a81615b69565b82525050565b614f0a81615b4d565b6000614f2482615b3b565b614f2e8185615b3f565b9350614f3983615b35565b8060005b83811015614f67578151614f518882614eed565b9750614f5c83615b35565b925050600101614f3d565b509495945050505050565b614f0a81615b58565b614f0a81610bb7565b614f0a614f9082610bb7565b610bb7565b614f0a81615b70565b6000614fa982615b3b565b614fb38185615b3f565b9350614fc3818560208601615b7b565b614fcc81615ba7565b9093019392505050565b6000614fe3601b83615b3f565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b600061501c601683615b3f565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b600061504e600e83615b3f565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b6000615078601583615b3f565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b60006150a9603583615b3f565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615100601983615b3f565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b6000615139601d83615b3f565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b6000615172601e83615b3f565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b60006151ab601b83615b3f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006151e4601283615b3f565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b6000615212601e83615b3f565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b600061524b601d83615b3f565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b6000615284601883615b3f565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b60006152bd602083615b3f565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b60006152f6601e83615b3f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061532f601a83615b3f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615368601183615b48565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000615395601183615b3f565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b60006153c2601383615b3f565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b60006153f1600a83615b3f565b6926b0bc1018903437bab960b11b815260200192915050565b6000615417601a83615b3f565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615450601b83615b3f565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b6000615489602f83615b3f565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006154da602183615b3f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061551d601f83615b3f565b7f4e6f7420616c6c6f77656420746f20697373756520746869732070796e746800815260200192915050565b6000615556601e83615b3f565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b600061558f601a83615b3f565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006155c8601983615b48565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615601601383615b3f565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b6000615630601883615b3f565b7f4e6f7420656e6f7567682070796e74682062616c616e63650000000000000000815260200192915050565b6000615669601b83615b3f565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906156a78482614f7b565b5060208201516156ba6020850182614f10565b5060408201516156cd6040850182614f7b565b5060608201516156e06060850182614f7b565b5060808201516156f36080850182614f7b565b5060a082015161570660a0850182614f72565b5060c082015161571960c0850182614f7b565b5060e082015161572c60e0850182614f7b565b50610100820151610c7c610100850182614f7b565b600061574c8261535b565b91506157588284614f84565b50602001919050565b600061574c826155bb565b60208101611e5d8284614f10565b60208101611e5d8284614f01565b604081016157968285614f01565b6111936020830184614f10565b606081016157b18286614f01565b6157be6020830185614f10565b6106c16040830184614f7b565b604081016157d98285614f01565b6111936020830184614f7b565b604081016157968285614f10565b604081016157d98285614f10565b602080825281016111938184614f19565b60208101611e5d8284614f72565b60208101611e5d8284614f7b565b604081016157968285614f7b565b604081016157d98285614f7b565b604081016158598285614f7b565b81810360208301526106c18184614f9e565b606081016158798286614f7b565b6157be6020830185614f7b565b60208101611e5d8284614f95565b602080825281016111938184614f9e565b60208082528101611e5d81614fd6565b60208082528101611e5d8161500f565b60208082528101611e5d81615041565b60208082528101611e5d8161506b565b60208082528101611e5d8161509c565b60208082528101611e5d816150f3565b60208082528101611e5d8161512c565b60208082528101611e5d81615165565b60208082528101611e5d8161519e565b60208082528101611e5d816151d7565b60208082528101611e5d81615205565b60208082528101611e5d8161523e565b60208082528101611e5d81615277565b60208082528101611e5d816152b0565b60208082528101611e5d816152e9565b60208082528101611e5d81615322565b60208082528101611e5d81615388565b60208082528101611e5d816153b5565b60208082528101611e5d816153e4565b60208082528101611e5d8161540a565b60208082528101611e5d81615443565b60208082528101611e5d8161547c565b60208082528101611e5d816154cd565b60208082528101611e5d81615510565b60208082528101611e5d81615549565b60208082528101611e5d81615582565b60208082528101611e5d816155f4565b60208082528101611e5d81615623565b60208082528101611e5d8161565c565b6101208101611e5d8284615695565b60808101615a928287614f7b565b615a9f6020830186614f01565b615aac6040830185614f7b565b615ab96060830184614f7b565b95945050505050565b60a08101615ad08288614f7b565b615add6020830187614f7b565b615aea6040830186614f7b565b615af76060830185614f7b565b615b046080830184614f7b565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615b2d57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611e5d82615b5d565b151590565b6001600160a01b031690565b6000611e5d825b6000611e5d82615b4d565b60005b83811015615b96578181015183820152602001615b7e565b83811115610c7c5750506000910152565b601f01601f191690565b615bba81615b4d565b8114613a5c57600080fd5b615bba81615b58565b615bba81610bb756fea365627a7a723158207eb8c147781c97408e31c00e8c251a9dd66bfd865663eee9965ef06508f2efd26c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract CollateralState",
							"name": "_state",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_manager",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_collateralKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minCollateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canOpenLoans",
							"type": "bool"
						}
					],
					"name": "CanOpenLoansUpdated",
					"type": "event",
					"signature": "0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountDeposited",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interactionDelay",
							"type": "uint256"
						}
					],
					"name": "InteractionDelayUpdated",
					"type": "event",
					"signature": "0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanClosedByLiquidation",
					"type": "event",
					"signature": "0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuanceFee",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanDrawnDown",
					"type": "event",
					"signature": "0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "repayer",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountRepaid",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountAfter",
							"type": "uint256"
						}
					],
					"name": "LoanRepaymentMade",
					"type": "event",
					"signature": "0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "manager",
							"type": "address"
						}
					],
					"name": "ManagerUpdated",
					"type": "event",
					"signature": "0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxLoansPerAccount",
							"type": "uint256"
						}
					],
					"name": "MaxLoansPerAccountUpdated",
					"type": "event",
					"signature": "0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCollateral",
							"type": "uint256"
						}
					],
					"name": "MinCollateralUpdated",
					"type": "event",
					"signature": "0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCratio",
							"type": "uint256"
						}
					],
					"name": "MinCratioRatioUpdated",
					"type": "event",
					"signature": "0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"
				},
				{
					"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": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4065b81b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aebeb4e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb562a1ab"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdac8cf68"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "collateralRedeemed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a153c97"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0efe6a8b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd2b8035a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x56dc04a1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15aaf4dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0710285c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe74337c6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481c6a75"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e132355"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxLoansPerAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb8e3b65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba2de9bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x925ead11"
				},
				{
					"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": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf93451ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37551ec6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "repay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8cd2e0c7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_canOpenLoans",
							"type": "bool"
						}
					],
					"name": "setCanOpenLoans",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x90abb4d9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interactionDelay",
							"type": "uint256"
						}
					],
					"name": "setInteractionDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c17ace4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newManager",
							"type": "address"
						}
					],
					"name": "setManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0ebdbe7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						}
					],
					"name": "setMinCratio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0cdd1c65"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortingRewards",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xde81eda9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc19d93fb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x441a3e70"
				}
			],
			"source": {
				"keccak256": "0x0c91171863c6d0d58b88ac4df7bc4a5c005b921f894e7e51769a0506885da9a0",
				"urls": [
					"bzz-raw://c1de0bbe655939657e99c74bda4382070027718c9541b48f9cc1612482debc0c",
					"dweb:/ipfs/QmdoUC5JW3uC8Y8vJo52kLRWnanh43mGwUZAHYjwP5E4CS"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralShort.sol": "CollateralShort"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CollateralShort.sol": {
						"keccak256": "0x0c91171863c6d0d58b88ac4df7bc4a5c005b921f894e7e51769a0506885da9a0",
						"urls": [
							"bzz-raw://c1de0bbe655939657e99c74bda4382070027718c9541b48f9cc1612482debc0c",
							"dweb:/ipfs/QmdoUC5JW3uC8Y8vJo52kLRWnanh43mGwUZAHYjwP5E4CS"
						]
					}
				},
				"version": 1
			}
		},
		"CrossChainState": {
			"bytecode": "608060405234801561001057600080fd5b506040516109473803806109478339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506107a1806101a66000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806352f445ca1161008c57806379ba50971161006657806379ba5097146102165780638da5cb5b1461021e5780639f15385b14610226578063aefc4ccb14610243576100cf565b806352f445ca1461018d57806353a47bb7146101b35780635d7fb53f146101d7576100cf565b80631627540c146100d45780632a3d64c0146100fc5780633227918f146101165780633c9889061461013c5780633d43eee5146101445780634374d39814610170575b600080fd5b6100fa600480360360208110156100ea57600080fd5b50356001600160a01b031661024b565b005b6101046102a7565b60408051918252519081900360200190f35b6100fa6004803603602081101561012c57600080fd5b50356001600160a01b03166102bf565b610104610366565b6100fa6004803603604081101561015a57600080fd5b506001600160a01b03813516906020013561036c565b6100fa6004803603602081101561018657600080fd5b5035610434565b6100fa600480360360208110156101a357600080fd5b50356001600160a01b03166104ef565b6101bb61054b565b604080516001600160a01b039092168252519081900360200190f35b6101fd600480360360208110156101ed57600080fd5b50356001600160a01b031661055a565b6040805192835260208301919091528051918290030190f35b6100fa61057d565b6101bb610639565b6101046004803603602081101561023c57600080fd5b5035610648565b6101bb610659565b610253610668565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6004546000906102ba90600019016106b3565b905090565b6002546001600160a01b031633146103085760405162461bcd60e51b81526004018080602001828103825260348152602001806107396034913960400191505060405180910390fd5b6001600160a01b0381166000818152600360209081526040808320838155600101929092558151928352429083015280517f15f7ff433d91071c434676dab84c273aa22740a24cca6eedd0e5ccf087b0d29b9281900390910190a150565b60045490565b6002546001600160a01b031633146103b55760405162461bcd60e51b81526004018080602001828103825260348152602001806107396034913960400191505060405180910390fd5b60408051808201825260045460001901815260208082018481526001600160a01b0386166000818152600384528590209351845590516001939093019290925582519182528101839052428183015290517f68118327cdb176990e8a3f014947ea047c4656d017e2cd73f8c6406784ee55079181900360600190a15050565b6002546001600160a01b0316331461047d5760405162461bcd60e51b81526004018080602001828103825260348152602001806107396034913960400191505060405180910390fd5b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018190556040805182815242602082015281517fda0d1bfbcafff93cb70f28903b5234028da095a195bc8d469b7f15ac44f6a984929181900390910190a150565b6104f7610668565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6001600160a01b0316600090815260036020526040902080546001909101549091565b6001546001600160a01b031633146105c65760405162461bcd60e51b81526004018080602001828103825260358152602001806106d56035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000610653826106b3565b92915050565b6002546001600160a01b031681565b6000546001600160a01b031633146106b15760405162461bcd60e51b815260040180806020018281038252602f81526020018061070a602f913960400191505060405180910390fd5b565b6000600482815481106106c257fe5b9060005260206000200154905091905056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582092ef24e94daf457dca3fc3e668d33eacbb2bab8edff93dde4173e72b98026d7b64736f6c63430005100032",
			"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "totalNetworkDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "TotalNetworkDebtAdded",
					"type": "event",
					"signature": "0xda0d1bfbcafff93cb70f28903b5234028da095a195bc8d469b7f15ac44f6a984"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "UserCrossNetworkDataRemoved",
					"type": "event",
					"signature": "0x15f7ff433d91071c434676dab84c273aa22740a24cca6eedd0e5ccf087b0d29b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "userStateDebtLedgerIndex",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "UserCrossNetworkDataUpdated",
					"type": "event",
					"signature": "0x68118327cdb176990e8a3f014947ea047c4656d017e2cd73f8c6406784ee5507"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "totalNetworkDebt",
							"type": "uint256"
						}
					],
					"name": "appendTotalNetworkDebtLedger",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4374d398"
				},
				{
					"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": "from",
							"type": "address"
						}
					],
					"name": "clearCrossNetworkUserData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3227918f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getCrossNetworkUserData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "crossChainDebtEntryIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "userStateDebtLedgerIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5d7fb53f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getTotalNetworkDebtEntryAtIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f15385b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastTotalNetworkDebtLedgerEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2a3d64c0"
				},
				{
					"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": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "userStateDebtLedgerIndex",
							"type": "uint256"
						}
					],
					"name": "setCrossNetworkUserData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3d43eee5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalNetworkDebtLedgerLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3c988906"
				}
			],
			"source": {
				"keccak256": "0xafdc7d60e7f55dfad981437c0e03df12438aa892062be052b413fef9b80450a2",
				"urls": [
					"bzz-raw://990f153ac29255292176afb12693e6e15dd5889f0bd6d31bf0b04d69b295ad17",
					"dweb:/ipfs/QmehwcX6tgNkXJPRCZn8LGiHXRf8Y3moi1tsFcjRjRgQ3Q"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CrossChainState.sol": "CrossChainState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CrossChainState.sol": {
						"keccak256": "0xafdc7d60e7f55dfad981437c0e03df12438aa892062be052b413fef9b80450a2",
						"urls": [
							"bzz-raw://990f153ac29255292176afb12693e6e15dd5889f0bd6d31bf0b04d69b295ad17",
							"dweb:/ipfs/QmehwcX6tgNkXJPRCZn8LGiHXRf8Y3moi1tsFcjRjRgQ3Q"
						]
					}
				},
				"version": 1
			}
		},
		"BridgeState": {
			"bytecode": "6080604052600a600c5561012c600d556000600e556000600f553480156200002657600080fd5b506040516200239738038062002397833981810160405260408110156200004c57600080fd5b50805160209091015180826001600160a01b038116620000b3576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b03166200015e576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1506040518060800160405280600081526020014281526020016000604051908082528060200260200182016040528015620001f4578160200160208202803883390190505b5081526000602091820181905280526008815281517f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7908155828201517f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c8556040830151805191926200028d927f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c99290910190620002b2565b50606091909101516003909101805460ff191691151591909117905550620003229050565b828054828255906000526020600020908101928215620002f0579160200282015b82811115620002f0578251825591602001919060010190620002d3565b50620002fe92915062000302565b5090565b6200031f91905b80821115620002fe576000815560010162000309565b90565b61206580620003326000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c80636455c67f1161013b578063aa200217116100b8578063e650630d1161007c578063e650630d14610817578063eeaf19ad1461081f578063f8fc08b914610827578063fc9ff12114610853578063fe9e903f1461085b5761023d565b8063aa200217146107da578063aefc4ccb146107f7578063b470aade146107ff578063b8c4dd5714610807578063da4172ef1461080f5761023d565b806379ba5097116100ff57806379ba5097146107655780637c2d6e011461076d5780638da5cb5b1461078a578063909f018a146107925780639c50a136146107b55761023d565b80636455c67f14610582578063663c2dae1461059f5780636a951316146105a7578063735b8bbc146105db578063772add7a146106075761023d565b80633711991e116101c95780634a2c6d6f1161018d5780634a2c6d6f146104f85780634a73d2311461024257806350b2e57d1461053057806352f445ca1461053857806353a47bb71461055e5761023d565b80633711991e146104265780633851eb0a1461042e5780633a01662a1461044b57806340a997b61461046e578063481dd7e8146104bb5761023d565b8063186f44ed11610210578063186f44ed1461033e5780631a8ec357146103825780631e1d164f1461038a57806320c39d1c146103de57806336870f4d146103e65761023d565b806303a97279146102425780630a2da178146102be5780631627540c146102e4578063177b2a101461030c575b600080fd5b61026e6004803603604081101561025857600080fd5b506001600160a01b038135169060200135610878565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102aa578181015183820152602001610292565b505050509050019250505060405180910390f35b61026e600480360360208110156102d457600080fd5b50356001600160a01b03166108ed565b61030a600480360360208110156102fa57600080fd5b50356001600160a01b031661095a565b005b61030a6004803603606081101561032257600080fd5b506001600160a01b0381351690602081013590604001356109b6565b6103706004803603606081101561035457600080fd5b506001600160a01b038135169060208101359060400135610a0f565b60408051918252519081900360200190f35b61026e610a4a565b6103a7600480360360208110156103a057600080fd5b5035610aa3565b604080516001600160a01b039096168652602086019490945284840192909252606084015215156080830152519081900360a00190f35b610370610aee565b610412600480360360408110156103fc57600080fd5b50803590602001356001600160a01b0316610af4565b604080519115158252519081900360200190f35b610370610b1f565b61026e6004803603602081101561044457600080fd5b5035610b25565b6104126004803603604081101561046157600080fd5b5080359060200135610b88565b61048b6004803603602081101561048457600080fd5b5035610ba8565b604080516001600160a01b0390951685526020850193909352838301919091526060830152519081900360800190f35b6104d8600480360360208110156104d157600080fd5b5035610be9565b604080519384526020840192909252151582820152519081900360600190f35b61030a6004803603608081101561050e57600080fd5b506001600160a01b038135169060208101359060408101359060600135610c0d565b610370610cdb565b61030a6004803603602081101561054e57600080fd5b50356001600160a01b0316610ce1565b610566610d3d565b604080516001600160a01b039092168252519081900360200190f35b61030a6004803603602081101561059857600080fd5b5035610d4c565b610370610fb3565b61030a600480360360608110156105bd57600080fd5b508035906001600160a01b0360208201351690604001351515610fb9565b610370600480360360408110156105f157600080fd5b506001600160a01b03813516906020013561103a565b61030a6004803603608081101561061d57600080fd5b810190602081018135600160201b81111561063757600080fd5b82018360208201111561064957600080fd5b803590602001918460208302840111600160201b8311171561066a57600080fd5b919390929091602081019035600160201b81111561068757600080fd5b82018360208201111561069957600080fd5b803590602001918460208302840111600160201b831117156106ba57600080fd5b919390929091602081019035600160201b8111156106d757600080fd5b8201836020820111156106e957600080fd5b803590602001918460208302840111600160201b8311171561070a57600080fd5b919390929091602081019035600160201b81111561072757600080fd5b82018360208201111561073957600080fd5b803590602001918460208302840111600160201b8311171561075a57600080fd5b509092509050611068565b61030a61120d565b61030a6004803603602081101561078357600080fd5b50356112c9565b610566611321565b61030a600480360360408110156107a857600080fd5b5080359060200135611330565b61030a600480360360408110156107cb57600080fd5b50803590602001351515611518565b610412600480360360208110156107f057600080fd5b503561157b565b610566611590565b61037061159f565b6103706115a5565b6103706115ab565b61030a6115b1565b610370611676565b6104126004803603604081101561083d57600080fd5b50803590602001356001600160a01b031661167c565b61037061169c565b61030a6004803603602081101561087157600080fd5b50356116a2565b6001600160a01b03821660009081526005602090815260408083208484528252918290208054835181840281018401909452808452606093928301828280156108e057602002820191906000526020600020905b8154815260200190600101908083116108cc575b5050505050905092915050565b6001600160a01b03811660009081526006602090815260409182902080548351818402810184019094528084526060939283018282801561094d57602002820191906000526020600020905b815481526020019060010190808311610939575b505050505090505b919050565b610962611704565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146109ff5760405162461bcd60e51b8152600401808060200182810382526034815260200180611f256034913960400191505060405180910390fd5b610a0a83838361174d565b505050565b60056020528260005260406000206020528160005260406000208181548110610a3457fe5b9060005260206000200160009250925050505481565b60606009805480602002602001604051908101604052809291908181526020018280548015610a9857602002820191906000526020600020905b815481526020019060010190808311610a84575b505050505090505b90565b600a8181548110610ab057fe5b6000918252602090912060059091020180546001820154600283015460038401546004909401546001600160a01b0390931694509092909160ff1685565b600a5490565b60009182526003602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600f5481565b60008181526008602090815260409182902060020180548351818402810184019094528084526060939283018282801561094d57602002820191906000526020600020908154815260200190600101908083116109395750505050509050919050565b600760209081526000928352604080842090915290825290205460ff1681565b600b8181548110610bb557fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b039092169350919084565b60086020526000908152604090208054600182015460039092015490919060ff1683565b336000908152600080516020611fcd833981519152602052604090205460ff16610c78576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103b30b634b230ba37b960491b604482015290519081900360640190fd5b610c848484848461198d565b610cd5576040805162461bcd60e51b815260206004820152601860248201527f417070656e6420696e626f756e64696e67206661696c65640000000000000000604482015290519081900360640190fd5b50505050565b600b5490565b610ce9611704565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b336000908152600080516020611fcd833981519152602052604090205460ff16610db7576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103b30b634b230ba37b960491b604482015290519081900360640190fd5b600081815260086020526040902060010154610e045760405162461bcd60e51b8152600401808060200182810382526021815260200180611ed56021913960400191505060405180910390fd5b610e0d81611ba2565b610e485760405162461bcd60e51b8152600401808060200182810382526021815260200180611f596021913960400191505060405180910390fd5b60008181526008602052604090206003015460ff1615610e995760405162461bcd60e51b8152600401808060200182810382526021815260200180611fed6021913960400191505060405180910390fd5b60096000805b8254811015610ed65783838281548110610eb557fe5b90600052602060002001541415610ece57809150610ed6565b600101610e9f565b50815460001901811015610f2f57805b825460001901811015610f2d57828160010181548110610f0257fe5b9060005260206000200154838281548110610f1957fe5b600091825260209091200155600101610ee6565b505b815482906000198101908110610f4157fe5b60009182526020822001558154610f5c836000198301611e16565b50600083815260086020908152604091829020600301805460ff19166001179055815185815291517f7ade90a30921855a6ca1079e6ef718e03ede0902f7ba6bc5db995b3259299c609281900390910190a1505050565b600e5490565b610fc1611704565b60008381526003602090815260408083206001600160a01b03861680855290835292819020805485151560ff1990911681179091558151878152928301939093528181019290925290517f332a909457a11d98527bfc5a73912903b22c710ff0f6fd05d8fbec4330de72899181900360600190a1505050565b6006602052816000526040600020818154811061105357fe5b90600052602060002001600091509150505481565b336000908152600080516020611fcd833981519152602052604090205460ff166110d3576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103b30b634b230ba37b960491b604482015290519081900360640190fd5b8680611126576040805162461bcd60e51b815260206004820152601760248201527f496e707574206c656e67746820697320696e76616c6964000000000000000000604482015290519081900360640190fd5b858114801561113457508381145b801561113f57508181145b611190576040805162461bcd60e51b815260206004820152601b60248201527f496e707574206c656e677468206973206e6f74206d6174636865640000000000604482015290519081900360640190fd5b60005b86811015611201576111f88a8a838181106111aa57fe5b905060200201356001600160a01b03168989848181106111c657fe5b905060200201358888858181106111d957fe5b905060200201358787868181106111ec57fe5b9050602002013561198d565b50600101611193565b50505050505050505050565b6001546001600160a01b031633146112565760405162461bcd60e51b8152600401808060200182810382526035815260200180611ea06035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6112d1611704565b6000811161131c576040805162461bcd60e51b815260206004820152601360248201527254696d652063616e6e6f74206265207a65726f60681b604482015290519081900360640190fd5b600d55565b6000546001600160a01b031681565b6002546001600160a01b031633146113795760405162461bcd60e51b8152600401808060200182810382526034815260200180611f256034913960400191505060405180910390fd5b6000600a838154811061138857fe5b60009182526020909120600590910201600481015490915060ff16156113df5760405162461bcd60e51b8152600401808060200182810382526028815260200180611fa56028913960400191505060405180910390fd5b60048101805460ff19166001179055600f54611401908363ffffffff611bea16565b600f556040805184815290517f1dc67d0d3096a397c2e4b90881a4423dd7e4de587a85153ea174286382463c279181900360200190a180546001600160a01b0316600090815260066020526040812090805b825481101561148a578583828154811061146957fe5b906000526020600020015414156114825780915061148a565b600101611453565b508154600019018110156114e357805b8254600019018110156114e1578281600101815481106114b657fe5b90600052602060002001548382815481106114cd57fe5b60009182526020909120015560010161149a565b505b8154829060001981019081106114f557fe5b60009182526020822001558154611510836000198301611e16565b505050505050565b611520611704565b600082815260046020908152604091829020805460ff191684151590811790915582518581529182015281517fa6159d868cefcb0936fdbddf19e6303992256944fd4ea432eb0d533309aaa58c929181900390910190a15050565b60046020526000908152604090205460ff1681565b6002546001600160a01b031681565b600d5481565b600c5481565b60105481565b336000908152600080516020611fcd833981519152602052604090205460ff1661161c576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103b30b634b230ba37b960491b604482015290519081900360640190fd5b60105460009081526008602052604090206002015461166c5760405162461bcd60e51b815260040180806020018281038252602381526020018061200e6023913960400191505060405180910390fd5b611674611c4b565b565b600e5481565b600360209081526000928352604080842090915290825290205460ff1681565b600f5490565b6116aa611704565b600081116116ff576040805162461bcd60e51b815260206004820152601e60248201527f4e756d6265722073686f756c64206c6172676572207468616e207a65726f0000604482015290519081900360640190fd5b600c55565b6000546001600160a01b031633146116745760405162461bcd60e51b815260040180806020018281038252602f815260200180611ef6602f913960400191505060405180910390fd5b60008181526004602052604090205460ff166117a9576040805162461bcd60e51b8152602060048201526016602482015275496e76616c696420746172676574206e6574776f726b60501b604482015290519081900360640190fd5b600b80546001600160a01b0385811660008181526005602090815260408083206010805485529083528184208054600180820183559186528486200188905582516080810184529586529285018a8152918501898152905460608601908152885493840189559790935292517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9600490920291820180546001600160a01b031916919095161790935590517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dba830155517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbb82015591517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbc90920191909155600e546118d49084611bea565b600e55601054600090815260086020526040902060020154611909576010546000908152600860205260409020426001909101555b601080546000908152600860209081526040808320600201805460018101825590845292829020909201849055915481518681529283018590528282018490526060830152516001600160a01b038616917f87d832bd33d2f45e5e10d77d6bb119af690faef79aa2e4b36ca7b953baf47271919081900360800190a2610cd5611d49565b600082815260076020908152604080832084845290915281205460ff16156119e65760405162461bcd60e51b815260040180806020018281038252602b815260200180611f7a602b913960400191505060405180910390fd5b600083815260076020908152604080832085845282528083208054600160ff199182168117909255600a8054845160a0810186526001600160a01b038d81168083528289018e81528389018e815260608086018f815260808088018f8152898d018b55998f5296517fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a860058a0290810180546001600160a01b031916929098169190911790965592517fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a986015590517fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2aa85015590517fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2ab84015594517fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2ac909201805490961691151591909117909455838852600687528588208054958601815588529686902090930183905583518a815294850189905284840188905284018290529151909391927f2ebeb3706ca5c1d47a81a4600f800f0a93e0504a8bae279764b4ef7bc7a8396792908290030190a250600195945050505050565b6000805b600954811015611be1578260098281548110611bbe57fe5b90600052602060002001541415611bd9576001915050610955565b600101611ba6565b50600092915050565b600082820183811015611c44576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b601054600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0181905560408051918252517f5263beccfd97c2947207bf7254d7c0c216431d4b9cea8c9b3371e8187020851b9181900360200190a1601054611cc990600163ffffffff611bea16565b6010819055604080516080810182528281524260208083019182528351600080825281830186528486019182526060850181905295865260088252939094208251815590516001820155915180519193611d2b92600285019290910190611e3a565b50606091909101516003909101805460ff1916911515919091179055565b611d51611d5e565b1561167457611674611c4b565b60105460009081526008602052604081206001810154600c54600290920154909111611d8e576001915050610aa0565b600d54611da1428363ffffffff611db916565b1115611db1576001915050610aa0565b600091505090565b600082821115611e10576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b815481835581811115610a0a57600083815260209020610a0a918101908301611e85565b828054828255906000526020600020908101928215611e75579160200282015b82811115611e75578251825591602001919060010190611e5a565b50611e81929150611e85565b5090565b610aa091905b80821115611e815760008155600101611e8b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869705468697320706572696f64206964206973206e6f742073746172746564207965744f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e506572696f64206973206e6f74206f6e207468652070726f63657373206c6973745265717565737420696420697320616c7265616479207265676973746572656420746f20696e626f756e645468697320696e626f756e64696e672068617320616c7265616479206265656e20636c61696d65646e26ed6241e2631dd5af774c1dcc7fd99eac19a8518cd3b9253a8b0c57950ec7506572696f642068617320616c7265616479206265656e2070726f6365737365644e6f206f7574626f756e64696e67207265717565737420697320696e20706572696f64a265627a7a72315820dcf5a5b21e944bf90ff965ae506540e7997c0b1c7339f7f1d0dfdc7b3cc29d8164736f6c63430005100032",
			"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": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcChainId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcOutboundingId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "inboundId",
							"type": "uint256"
						}
					],
					"name": "InboundingAppended",
					"type": "event",
					"signature": "0x2ebeb3706ca5c1d47a81a4600f800f0a93e0504a8bae279764b4ef7bc7a83967"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "inboundId",
							"type": "uint256"
						}
					],
					"name": "InboundingClaimed",
					"type": "event",
					"signature": "0x1dc67d0d3096a397c2e4b90881a4423dd7e4de587a85153ea174286382463c27"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "chainId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "changedTo",
							"type": "bool"
						}
					],
					"name": "NetworkStatusChanged",
					"type": "event",
					"signature": "0xa6159d868cefcb0936fdbddf19e6303992256944fd4ea432eb0d533309aaa58c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "destChainId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "outboundId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						}
					],
					"name": "OutboundingAppended",
					"type": "event",
					"signature": "0x87d832bd33d2f45e5e10d77d6bb119af690faef79aa2e4b36ca7b953baf47271"
				},
				{
					"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": "periodId",
							"type": "uint256"
						}
					],
					"name": "PeriodClosed",
					"type": "event",
					"signature": "0x5263beccfd97c2947207bf7254d7c0c216431d4b9cea8c9b3371e8187020851b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						}
					],
					"name": "PeriodProcessed",
					"type": "event",
					"signature": "0x7ade90a30921855a6ca1079e6ef718e03ede0902f7ba6bc5db995b3259299c60"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "role",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "target",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "set",
							"type": "bool"
						}
					],
					"name": "SetRole",
					"type": "event",
					"signature": "0x332a909457a11d98527bfc5a73912903b22c710ff0f6fd05d8fbec4330de7289"
				},
				{
					"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": "accountInboundings",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x735b8bbc"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountOutboundings",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x186f44ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_period",
							"type": "uint256"
						}
					],
					"name": "accountOutboundingsInPeriod",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4a73d231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_srcChainId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_srcOutboundingId",
							"type": "uint256"
						}
					],
					"name": "appendInboundingRequest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4a2c6d6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "_accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_amounts",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_srcChainIds",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_srcOutboundingIds",
							"type": "uint256[]"
						}
					],
					"name": "appendMultipleInboundingRequests",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x772add7a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_destChainIds",
							"type": "uint256"
						}
					],
					"name": "appendOutboundingRequest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x177b2a10"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "applicableInboundIds",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a2da178"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "claimInbound",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x909f018a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "closeOutboundPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe650630d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentOutboundPeriodId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda4172ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getTotalInboundAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfc9ff121"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getTotalOutboundAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x663c2dae"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "inboundings",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "srcChainId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "srcOutboundingId",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "claimed",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1e1d164f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "inboundingsLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x20c39d1c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_roleKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "isOnRole",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x36870f4d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "networkOpened",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaa200217"
				},
				{
					"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": "numberOfOutboundPerPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8c4dd57"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_outboundPeriodId",
							"type": "uint256"
						}
					],
					"name": "outboundIdsInPeriod",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3851eb0a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "outboundPeriods",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startTime",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "processed",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481dd7e8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_periodId",
							"type": "uint256"
						}
					],
					"name": "outboundRequestIdsInPeriod",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x03a97279"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "outboundings",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "destChainId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x40a997b6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "outboundingsLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x50b2e57d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb470aade"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodIdsToProcess",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1a8ec357"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_outboundPeriodId",
							"type": "uint256"
						}
					],
					"name": "processOutboundPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6455c67f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "roles",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf8fc08b9"
				},
				{
					"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": "_chainId",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_setTo",
							"type": "bool"
						}
					],
					"name": "setNetworkStatus",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9c50a136"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_number",
							"type": "uint256"
						}
					],
					"name": "setNumberOfOutboundPerPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfe9e903f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_time",
							"type": "uint256"
						}
					],
					"name": "setPeriodDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7c2d6e01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_roleKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "_set",
							"type": "bool"
						}
					],
					"name": "setRole",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6a951316"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "srcOutboundingIdRegistered",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3a01662a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalInboundAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3711991e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalOutboundAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeeaf19ad"
				}
			],
			"source": {
				"keccak256": "0x836fafe3421fd6d3d38e56d9427f8f3b4bf7a7a2de0674a7e3d1e12904dbab1f",
				"urls": [
					"bzz-raw://c37d9add63a8436bebd1665488d33d313e36d4966fdef4a71b09265e9baa1ec8",
					"dweb:/ipfs/QmUo14UqkkAJnin6fb6NS32SEH8o6JBV84suDWLm8Ls5Sm"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"BridgeState.sol": "BridgeState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"BridgeState.sol": {
						"keccak256": "0x836fafe3421fd6d3d38e56d9427f8f3b4bf7a7a2de0674a7e3d1e12904dbab1f",
						"urls": [
							"bzz-raw://c37d9add63a8436bebd1665488d33d313e36d4966fdef4a71b09265e9baa1ec8",
							"dweb:/ipfs/QmUo14UqkkAJnin6fb6NS32SEH8o6JBV84suDWLm8Ls5Sm"
						]
					}
				},
				"version": 1
			}
		},
		"CrossChainManager": {
			"bytecode": "608060405234801561001057600080fd5b506040516117dd3803806117dd8339818101604052608081101561003357600080fd5b508051602082015160408301516060909301519192909182846001600160a01b0381166100a7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b03199081166001600160a01b0393841617909155600480548216948316949094179093556005805490931691161790555061169090508061014d6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806360b3a033116100b85780638bfc007c1161007c5780638bfc007c146103165780638da5cb5b1461033c578063c8207cc414610344578063ee0dddd714610370578063ef36910f1461038d578063f2de2dee1461039557610142565b806360b3a0331461029e57806369e9a1d9146102a657806374185360146102ae57806379ba5097146102b6578063899ffef4146102be57610142565b80631b9a72391161010a5780631b9a7239146101f05780631be6b1761461020d5780632af64bd31461024c57806340f68cdd146102685780635082fa3f1461028e57806353a47bb71461029657610142565b806302760d941461014757806304f3bcec1461016157806313cf45841461018557806315712139146101ad5780631627540c146101ca575b600080fd5b61014f6103c1565b60408051918252519081900360200190f35b6101696103d1565b604080516001600160a01b039092168252519081900360200190f35b6101ab6004803603602081101561019b57600080fd5b50356001600160a01b03166103e0565b005b6101ab600480360360208110156101c357600080fd5b503561040a565b6101ab600480360360208110156101e057600080fd5b50356001600160a01b03166104bb565b61014f6004803603602081101561020657600080fd5b5035610517565b6102336004803603602081101561022357600080fd5b50356001600160a01b0316610596565b6040805192835260208301919091528051918290030190f35b610254610624565b604080519115158252519081900360200190f35b6101ab6004803603602081101561027e57600080fd5b50356001600160a01b031661072e565b610169610795565b6101696107a4565b6101696107b3565b61014f6107c2565b6101ab610835565b6101ab6109fd565b6102c6610ab9565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103025781810151838201526020016102ea565b505050509050019250505060405180910390f35b6101ab6004803603602081101561032c57600080fd5b50356001600160a01b0316610b53565b610169610b7d565b61014f6004803603604081101561035a57600080fd5b506001600160a01b038135169060200135610b8c565b61014f6004803603602081101561038657600080fd5b5035610d73565b61014f610d7e565b6101ab600480360360408110156103ab57600080fd5b506001600160a01b038135169060200135610dc0565b60006103cb610e4b565b90505b90565b6002546001600160a01b031681565b6103e8610ecb565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146104535760405162461bcd60e51b815260040180806020018281038252602d8152602001806115df602d913960400191505060405180910390fd5b61045b610795565b6001600160a01b0316634374d398826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156104a057600080fd5b505af11580156104b4573d6000803e3d6000fd5b5050505050565b6104c3610ecb565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610521610795565b6001600160a01b0316639f15385b836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561056457600080fd5b505afa158015610578573d6000803e3d6000fd5b505050506040513d602081101561058e57600080fd5b505192915050565b6000806105a1610795565b60408051635d7fb53f60e01b81526001600160a01b0386811660048301528251931692635d7fb53f92602480840193919291829003018186803b1580156105e757600080fd5b505afa1580156105fb573d6000803e3d6000fd5b505050506040513d604081101561061157600080fd5b5080516020909101519094909350915050565b60006060610630610ab9565b905060005b815181101561072557600082828151811061064c57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156106b457600080fd5b505afa1580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b50516001600160a01b031614158061070b57506000818152600360205260409020546001600160a01b0316155b1561071c57600093505050506103ce565b50600101610635565b50600191505090565b610736610f16565b61073e610795565b6001600160a01b0316633227918f826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b1580156104a057600080fd5b6004546001600160a01b031690565b6001546001600160a01b031681565b6005546001600160a01b031690565b60006107cc610795565b6001600160a01b0316633c9889066040518163ffffffff1660e01b815260040160206040518083038186803b15801561080457600080fd5b505afa158015610818573d6000803e3d6000fd5b505050506040513d602081101561082e57600080fd5b5051905090565b606061083f610ab9565b905060005b81518110156109f957600082828151811061085b57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156109115781810151838201526020016108f9565b50505050905090810190601f16801561093e5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561095c57600080fd5b505afa158015610970573d6000803e3d6000fd5b505050506040513d602081101561098657600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610844565b5050565b6001546001600160a01b03163314610a465760405162461bcd60e51b81526004018080602001828103825260358152602001806115676035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b604080516003808252608082019092526060916020820183803883390190505090506844656274436163686560b81b81600081518110610af557fe5b6020026020010181815250506524b9b9bab2b960d11b81600181518110610b1857fe5b6020026020010181815250506e109c9a5919d954dd185d195c1554d1608a1b81600281518110610b4457fe5b60200260200101818152505090565b610b5b610ecb565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b600080610b97610795565b60408051635d7fb53f60e01b81526001600160a01b0387811660048301528251931692635d7fb53f92602480840193919291829003018186803b158015610bdd57600080fd5b505afa158015610bf1573d6000803e3d6000fd5b505050506040513d6040811015610c0757600080fd5b505190506000610c15610795565b6001600160a01b0316639f15385b836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c5857600080fd5b505afa158015610c6c573d6000803e3d6000fd5b505050506040513d6020811015610c8257600080fd5b505190506000610c90610795565b6001600160a01b0316632a3d64c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610cc857600080fd5b505afa158015610cdc573d6000803e3d6000fd5b505050506040513d6020811015610cf257600080fd5b50519050808210610d3b57610d34610d27610d0b610e4b565b610d1b858563ffffffff610f6d16565b9063ffffffff610fca16565b869063ffffffff610f6d16565b9350610d69565b610d66610d59610d49610e4b565b610d1b848663ffffffff610f6d16565b869063ffffffff610ff416565b93505b5050505b92915050565b6000610d6d82611055565b6000610d88610795565b6001600160a01b0316632a3d64c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561080457600080fd5b610dc8610f16565b610dd0610795565b6001600160a01b0316633d43eee583836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015610e2f57600080fd5b505af1158015610e43573d6000803e3d6000fd5b505050505050565b600080610e56610795565b6001600160a01b0316632a3d64c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8e57600080fd5b505afa158015610ea2573d6000803e3d6000fd5b505050506040513d6020811015610eb857600080fd5b50519050610ec5816110d6565b91505090565b6000546001600160a01b03163314610f145760405162461bcd60e51b815260040180806020018281038252602f81526020018061160c602f913960400191505060405180910390fd5b565b610f1e61134d565b6001600160a01b0316336001600160a01b031614610f145760405162461bcd60e51b815260040180806020018281038252604381526020018061159c6043913960600191505060405180910390fd5b600082821115610fc4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000670de0b6b3a7640000610fe5848463ffffffff61136116565b81610fec57fe5b049392505050565b60008282018381101561104e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080611060610795565b6001600160a01b0316639f15385b846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156110a357600080fd5b505afa1580156110b7573d6000803e3d6000fd5b505050506040513d60208110156110cd57600080fd5b5051905061104e815b60008060006110e36113ba565b6001600160a01b031663759076e56040518163ffffffff1660e01b8152600401604080518083038186803b15801561111a57600080fd5b505afa15801561112e573d6000803e3d6000fd5b505050506040513d604081101561114457600080fd5b508051602090910151909250905080156111a5576040805162461bcd60e51b815260206004820152601f60248201527f63757272656e7420746f74616c2064656274206973206e6f742076616c696400604482015290519081900360640190fd5b60006111af6113d1565b6001600160a01b031663663c2dae6040518163ffffffff1660e01b815260040160206040518083038186803b1580156111e757600080fd5b505afa1580156111fb573d6000803e3d6000fd5b505050506040513d602081101561121157600080fd5b50519050600061121f6113d1565b6001600160a01b031663fc9ff1216040518163ffffffff1660e01b815260040160206040518083038186803b15801561125757600080fd5b505afa15801561126b573d6000803e3d6000fd5b505050506040513d602081101561128157600080fd5b50519050811561129e5761129b848363ffffffff610ff416565b93505b80156112b7576112b4848263ffffffff610f6d16565b93505b85156112d2576112cd848763ffffffff6113ee16565b611343565b73__$ab44aa4d03cf506e3f86b9d3e8fcef9ff5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561131657600080fd5b505af415801561132a573d6000803e3d6000fd5b505050506040513d602081101561134057600080fd5b50515b9695505050505050565b60006103cb6524b9b9bab2b960d11b611418565b60008261137057506000610d6d565b8282028284828161137d57fe5b041461104e5760405162461bcd60e51b815260040180806020018281038252602181526020018061163b6021913960400191505060405180910390fd5b60006103cb6844656274436163686560b81b611418565b60006103cb6e109c9a5919d954dd185d195c1554d1608a1b611418565b600061104e8261140c85670de0b6b3a764000063ffffffff61136116565b9063ffffffff6114fc16565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816114f55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114ba5781810151838201526020016114a2565b50505050905090810190601f1680156114e75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b6000808211611552576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161155d57fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043726f7373436861696e4d616e616765723a204f6e6c79207468652069737375657220636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c79207468652064656274206d616e61676572206d617920706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158209f5ad547d4cf740453ef3b4a75b78d1ed2aa1f6869593fa6db75fa3e8870ff5764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_crossChainStateAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_debtManagerAddress",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"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": "uint256",
							"name": "totalNetworkDebt",
							"type": "uint256"
						}
					],
					"name": "addTotalNetworkDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x15712139"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "clearCrossNetworkUserDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x40f68cdd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "crossChainState",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5082fa3f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentNetworkDebtPercentage",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x02760d94"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentTotalNetworkDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xef36910f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtManager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x60b3a033"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_totalSystemValue",
							"type": "uint256"
						}
					],
					"name": "getTotalNetworkAdaptedTotalSystemValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalSystemValue",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8207cc4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_index",
							"type": "uint256"
						}
					],
					"name": "networkDebtPercentageAtIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee0dddd7"
				},
				{
					"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": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "crossChainStateAddress",
							"type": "address"
						}
					],
					"name": "setCrossChainState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x13cf4584"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "userStateDebtLedgerIndex",
							"type": "uint256"
						}
					],
					"name": "setCrossNetworkUserDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf2de2dee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "debtManagerAddress",
							"type": "address"
						}
					],
					"name": "setDebtManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8bfc007c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "totalNetworkDebtAtIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1b9a7239"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalNetworkDebtEntryLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x69e9a1d9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "userIssuanceDataForTotalNetwork",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "crossChainDebtEntryIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "userStateDebtLedgerIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1be6b176"
				}
			],
			"source": {
				"keccak256": "0x53527aff7e4af1588c45df0aba347f44d5bf29109124b1864857ec849c197e5d",
				"urls": [
					"bzz-raw://bf04d558572900127290c88d42937281e0469485be8ed8aa2ec1947ace0b1ca8",
					"dweb:/ipfs/QmUEyTkoFzLkcAG8ts5AzSbFetPKY2wWyaZ2Gw9iPEj7iB"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CrossChainManager.sol": "CrossChainManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CrossChainManager.sol": {
						"keccak256": "0x53527aff7e4af1588c45df0aba347f44d5bf29109124b1864857ec849c197e5d",
						"urls": [
							"bzz-raw://bf04d558572900127290c88d42937281e0469485be8ed8aa2ec1947ace0b1ca8",
							"dweb:/ipfs/QmUEyTkoFzLkcAG8ts5AzSbFetPKY2wWyaZ2Gw9iPEj7iB"
						]
					}
				},
				"version": 1
			}
		}
	}
}
